单片机c语言的最小二乘法怎么实现,求代码

2025-10-11 16:41:3679 次浏览

最佳答案

#include

void main ()

{

int num,i;

float x,y,l,m,n,p,a,b;

i=1;

l=0.0;

m=0.0;

n=0.0;

p=0.0;

printf ("请输入你想计算的x,y的个数:");

scanf("%d",&num);

if (num>=1)

{

while (i<=num);

{

printf("请输入x的值");

scanf ("%lf",&x);

printf("请输入y的值");

scanf ("%lf",&y);

l+=x;

m+=y;

n+=x*y;

p+=x*x;

i++;

}

a=(num*n-l*m)/(num*p-l*l);

b=(p*m-n*l)/(num*p-l*l);

printf("最小二乘法所算得的斜率和截距分别为%f和%f\n",a,b);

}

else printf("mun"输入有误!);

}

声明:知趣百科所有作品均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请在页面底部查找“联系我们”的链接,并通过该渠道与我们取得联系以便进一步处理。