最小二乘法数据拟合

上传人:工**** 文档编号:487737698 上传时间:2022-10-15 格式:DOCX 页数:5 大小:23.93KB
返回 下载 相关 举报
最小二乘法数据拟合_第1页
第1页 / 共5页
最小二乘法数据拟合_第2页
第2页 / 共5页
最小二乘法数据拟合_第3页
第3页 / 共5页
最小二乘法数据拟合_第4页
第4页 / 共5页
最小二乘法数据拟合_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《最小二乘法数据拟合》由会员分享,可在线阅读,更多相关《最小二乘法数据拟合(5页珍藏版)》请在金锄头文库上搜索。

1、最小二乘法数据拟合基本理论和方法1.数据拟合: 从给出的一大堆数据中找出规律,即设法构造一条曲线(拟合曲线)反映数据点总的趋势,以消除其局部波动。2. 作数据拟合的一般步骤 :a. 观察给出数据的散点图。b. 选择合适的拟合函数。c. 求出拟合函数的待定系数,绘制拟合曲线。d. 将拟合曲线与散点图比较,必要时重新选择拟合函数。3. 最小二乘法基本原理: 要求误差平方和最小的拟合。 在试验过程中试验数据一般不可能精确获得,往往有一定程度的误差,为了尽可能减少误差,就希望用一个拟合函数f (x),使拟合函数f (x)在x处的函数值f (x )与对应的试验实测数据值y (i=l,2,N)形成 误差平

2、方和最小,即min(工(f (x ) 一 y )2)ii这就是最小二乘法。4. 直线拟合若已知数据点(x , y )(i = 1,2,., N )分布大致为一条直线。作拟合直线f (x) = a + ax,该直线不是通过所i i01有的数据点(x ,y ),而是使残差平方和最小。即使iiJ =工(a + a x ) - y 2( 1 )01 iii=1值最小。式( 1)中未知量为0, ai,所以J可以看作是关于a0, a 1的多元函数。根据多元函数求极值的基本条件,有a J=0a a10a j =0 a a1整理( 3)式,得a N + a 工 x =工 y 01iia 工 x + a 工 x

3、2 = 工 x yI 0i 1ji i解式(4),可得到直线方程参数a2)即d J N=2 乙(a + a x ) 一 y -1 = 0 d a01 10i =1d JN=2(a + a x ) 一 y - x = 0d a011i =14)3),a,回代入f (x) = a + ax,即获得反应数据分布规律的拟合函数(数1 0 1学模型)。任意点函数值的获得:只要将该点的x坐标代入拟合函数中,所得y值即为该点函数值。实例:钓鱼比赛中的建模:出于保护的目的,垂钓俱乐部想鼓励其会员在钓到鱼后马上把它们 放生,并根据钓到鱼的总重量给予奖励。假设鱼塘中鱼的种类为一种鱼,问题是垂钓者怎么确 定所钓到的

4、鱼的重量?下表是垂钓大奖赛期间收集到的数据:鱼的长度(mm): x350280330240310370300鱼的重量(g): y900780861708827929810MATLAB 实验:(1) 数据分布折线图将数据表中的数据预处理:按x坐标从小到大排序x=240 280 300 310 330 350 370;y=708 780 810 827 861 900 929;plot(x,y, blue )(2) 拟合函数:直线方程f (x) = a x + a10(3) 拟合函数待定系数的求取p=polyfit(x,y,1)( 4)绘制拟合曲线hold onx2=240:10:370;y2=p

5、olyval(p,x2);plot(x2,y2, green )grid on( 5 )估计鱼的重量x3=290y3=polyval(p,x3)说明:polyfi t(x,y,n):计算多项式最小二乘拟合的系数 polyval 函数:计算数据点的拟合函数值./C+源程序如下:#include viostream#includeusing namespace std;int main()const int Row=5;double xRow,yRow;一维数组x,y用来存储试验数据点的x,y坐标 int i;for(i=0;iRow;+i)coutplease input point i:(x,

6、y); cinxiyi;输入试验数据点double sum_x,sum_y,av_x,av_y; /声明变量 double L_xx,L_yy,L_xy;/变量初始化sum_x=0;sum_y=0;av_x=0; /X 的平均值av_y=0; /Y 的平均值 L_xx=0; /Lxx L_yy=0; /Lyy L_xy=0; /Lxy for( i=0;iRow;+i)/计算 X、Y 的累加和sum_x+=xi; sum_y+=yi; av_x=sum_x/Row;计算X的平均值 av_y=sum_y/Row;计算Y的平均值 for(i=0;ivRow;+i) 计算 Lxx、Lyy 和 Lxy

7、L_xx+=(xi-av_x)*(xi-av_x); L_yy+=(yi-av_y)*(yi-av_y); L_xy+=(xi-av_x)*(yi-av_y); coutThis line can be fitted by y=ax+b.endl;double a,b,r;a=L_xy/L_xx; b=av_y-L_xy*av_x/L_xx; r=L_xy/sqrt(L_xx*L_yy); couta=a;/输出回归系数 acout b=bendl; /输出回归系数 b coutr=rendl; /输出相关系数 r/计算任意点的值 double xx,f_xx; coutxx; f_xx=a*

8、xx+b; coutf(xx) is :f_xxendl; system(pause);return 0;工程数据可视化处理实例分析天山林木区伊昭公路沿山坡所取草皮层土样试验数据如下(见表 1)表 1 草皮腐殖层含水量表测点距边坡边缘的距离(m)0816243240含水量()35.728.923.824.425.730.4表中数据取自于一个断面,各测点自边坡边缘顺地面斜坡以间距 8m 向上延伸,取土深度约 20cm。试根据最小二乘原理找出该断面含水量分布规律数学模型,并根据数学模型求出距边 坡边缘距离x米处的含水量。实验过程:1. 绘制试验数据折线图;MATLAB: x=0 8 16 24 3

9、2 40或x=0:8:40 (生成等间距的1 x n矩阵,增量为8) y=35.7 28.9 23.8 24.4 25.7 30.4plot(x,y);hold on2根据折线图数据分布规律,确定拟合函数;(此例中:f(x) = a + ax + ax2或0 1 23. 根据最小二乘原理计算拟合函数系数;MATLAB: p=polyfit(x,y,2)/降幂排列4. 得到数据分布具体拟合函数表达式,即数学模型,并绘制拟合曲线;拟合曲线绘制思想:用若干段连续的直线逼近拟合函数线。MATLAB: x2=0:0.5:40;/将 80 段直线逼近y2=polyval(p,x2); /计算每个点处的估计

10、值,估计值通过拟合函数计算 plot(x2,y2)若拟合曲线与折线逼近性不好,重新选择拟合函数,即重复2, 3, 4步骤,直到找到合适的拟合函数为止。5. 根据工程需求,利用数学模型计算相应指标。(比如:求最大最小值; x 处的函数值等)i实现:比较两种方案(图形环境 和 通用平台)最终方法:通用平台(C+调用MATLAB)二 停车距离中的司机反应距离模型司机反应距离是指从司机意识到要停车的时刻到真正制动的时刻期间车辆所走过的距离反应。距离是 许多变量的函数,假设主要变量是反应时间和速率,则反应距离模型为反应距离= f (反应时间,速率)反应时间既受个体驾驶因素也受车辆操作系统的影响,系统时间就是从司机接触到刹车从机械上起作用 之间的时间。对于现代的车辆来说,可以忽略系统时间的影响,因为比之于人的因素,它是相当小的。 假设从司机决定需要停车到刹车起作用的时间里车辆继续以常速行使。根据表 1 中的实测数据,确定司 机反应距离的数学模型。表 1 反应距离和刹车距离速度(m/s)8.911.113.315.617.82022.224.426.728.931.133.3司机的反 应距离(m)6.78.510.111.913.415.216.818.620.121.923.525.3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号