求非线性最小二乘法的算法及代码.

来源:百度知道 编辑:UC知道 时间:2024/07/02 16:43:10
想要模拟一非线性曲线,
急需了解非线性最小二乘的原理,
并希望有相关的原代码.
Thanks

main ()
{
int n,i,flag2;
char flag1='y';
float ar[50],br[50],x,y,xe,ye,xye,xxe,sx,sy,sxy,sxx,a,b;
printf ("\n欢迎使用最小二乘法数据处理程序\n");
printf ("\n说明:本程序运行结果保留小数点后三位\n");
for (;flag1=='y'||flag1=='Y';)
{printf ("\n请输入您要处理的数据的组数:");
printf ("\n*****提示:本程序定义一对x,y值为一组数据:");
scanf ("%d",&n);
if (n>50) {printf ("\n对不起,本程序暂时无法处理50组以上的数据");
continue;
}
printf ("\n请选择您的数据的处理方式:");
printf ("\n\t1.y与x为一次线性关系");
printf ("\n\t2.y与x的2次为线性关系\n");
scanf ("%d",&flag2);
if (flag2>2||flag2<1) {printf ("\n对不起,您的输入不正确\n");continue;}
for (i=0;i<n;i++)
{printf ("\n请输入第%2d个x的值\tx%2d=",i+1,i+1);
scanf (" %f",&ar[i]);
printf ("\n请输入对应的y的值:\ty%2d=",i+1);