最小二乘法拟合一条直线(C语言代码)(3页).doc
《最小二乘法拟合一条直线(C语言代码)(3页).doc》由会员分享,可在线阅读,更多相关《最小二乘法拟合一条直线(C语言代码)(3页).doc(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-最小二乘法拟合一条直线(C语言代码)-第 3 页最小二乘法拟合一条直线(C语言代码)#include#define N 9/N为要拟合的数据的个数float X9 = 1,1.477,1.778,2,2.176,2.301,2.398,2.477,2.638;float Y9 = 7.55,8.02,8.41,8.64,8.75,8.79,8.81,8.83,8.87;float K=0;/拟合直线的斜率float R=0;/拟合直线的截距float x_sum_average=0;/数组 XN 个元素求和 并求平均值float y_sum_average=0;/数组 YN 个元素求和 并求
2、平均值float x_square_sum=0;/数组 XN 个个元素的平均值float x_multiply_y=0;/数组 XN和YN对应元素的乘机float Squre_sum(float cN) ;float Sum_Average(float dN);float X_Y_By(float mN,float nN);float Squre_sum(float cN);void Line_Fit(void);void Line_Fit(void)x_sum_average= Sum_Average(X);y_sum_average= Sum_Average(Y);x_square_sum
3、 = 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;printf(K = %fn,K);printf(R = %fn,R);float Sum_Average(float dN)unsigned int i=0;float z=0;for(i=0;iN;i+)z = z + di;z = z/N;return z;float X_Y_By(float mN,float nN)unsigned int i=0;float z=0;for(i=0;iN;i+)z = z + mi*ni;return z;float Squre_sum(float cN)unsigned int i=0;float z=0;for(i=0;iN;i+)z = z + ci*ci;return z;void main(void)Line_Fit();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最小二乘法 拟合 一条 直线 语言 代码
限制150内