计算线性回归的 C 程序

问题

编写一个程序来实现线性回归算法。

用户必须输入值的总数。

解决方案

在 C 编程语言中计算线性回归的解决方案如下 -

线性回归通过将线性方程连接到观察数据来发现两个变量之间的关系。一个变量是解释变量,另一个是因变量。

关于线性回归的逻辑解释如下 -

for(i=0;i<n;i++){
   printf("enter values of x and y");
   scanf("%f%f",&x,&y);
   sumx=sumx+x;
   sumxsq=sumxsq+(x*x);
   sumy=sumy+y;
   sumxy=sumxy+(x*y);
}

d=n*sumxsq-sumx*sumx;
m=(n*sumxy-sumx*sumy)/d;
c=(sumy*sumxsq-sumx*sumxy)/d;

最后,打印 m 和 c。

示例

以下是计算线性回归的 C 程序-

#include<math.h>
#include<stdio.h>
main(){
   int n,i;
   float x,y,m,c,d;
   float sumx=0,sumxsq=0,sumy=0,sumxy=0;
   printf("输入 n 的值数:");
   scanf("%d",&n);
   for(i=0;i<n;i++){
      printf("enter values of x and y");
      scanf("%f%f",&x,&y);
      sumx=sumx+x;
      sumxsq=sumxsq+(x*x);
      sumy=sumy+y;
      sumxy=sumxy+(x*y);
   }
   d=n*sumxsq-sumx*sumx;
   m=(n*sumxy-sumx*sumy)/d;
   c=(sumy*sumxsq-sumx*sumxy)/d;
   printf("M=%f\tC=%f\n",m,c);
}
输出结果

执行上述程序时,会产生以下结果 -

输入 n 的值数:5
enter values of x and y1 5
enter values of x and y2 6
enter values of x and y2 4
enter values of x and y3 7
enter values of x and y1 1
M=2.000000 C=1.000000