欢迎来到天天文库
浏览记录
ID:57334266
大小:15.00 KB
页数:2页
时间:2020-08-12
《最小二乘法拟合一条直线(C语言代码).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、最小二乘法拟合一条直线(C语言代码)#include#defineN9 //N为要拟合的数据的个数 floatX[9]={1,1.477,1.778,2,2.176,2.301,2.398,2.477,2.638};floatY[9]={7.55,8.02,8.41,8.64,8.75,8.79,8.81,8.83,8.87};floatK=0; //拟合直线的斜率floatR=0; //拟合直线的截距floatx_sum_average=0;
2、 //数组X[N]个元素求和并求平均值floaty_sum_average=0; //数组Y[N]个元素求和并求平均值floatx_square_sum=0; //数组X[N]个个元素的平均值floatx_multiply_y=0; //数组X[N]和Y[N]对应元素的乘机floatSqure_sum(floatc[N]);floatSum_Average(floatd[N]);floatX_Y_By(floatm[N],floatn[N]);floatSqure_sum(floatc[N]);voidLine_Fit(voi
3、d);voidLine_Fit(void){ x_sum_average=Sum_Average(X); y_sum_average=Sum_Average(Y); x_square_sum=Squre_sum(X); x_multiply_y=X_Y_By(X,Y); K=(x_multiply_y-N*x_sum_average*y_sum_average)/(x_square_sum-N*x_sum_average*x_sum_average); R=y_sum_average-K*x_sum_average; print
4、f("K=%f",K); printf("R=%f",R);}floatSum_Average(floatd[N]){unsignedinti=0;floatz=0;for(i=0;i5、atz=0;for(i=0;i
5、atz=0;for(i=0;i
此文档下载收益归作者所有