
Matlab数据拟合程序.docx
7页课程设计名称: 设计二:数据拟合 指导教师: 张莉 课程设计时数: 6 课程设计设备:安装了 Matlab、C+嗽件的计算机 课程设计日期: 实验地点: 第五教学楼北902 课程设计目的:1. 了解最小二乘拟合的原理,掌握用MATLAB作最小二乘拟合的方法;2. 学会利用曲线拟合的方法建立数学模型课程设计准备:1. 在开始本实验之前,请回顾相关内容;2. 需要一台准备安装Windows XP Professional操作系统和装有数学软件的计算机课程设计内容及要求要求: 设计过程必须包括问题的简要叙述、问题分析、实验程序及注释、实验数据及结果分析和实验结 论几个主要部分1. 用切削机床进行金属品加工时,为了适当地调整机床,需要测定刀具的磨损速度,在一定的时间测量刀具的厚度,得数据如表所示,请选用合适的函数来描述切削时间与刀具厚度的关系切削时间t/h01234567刀具厚度y/cm30.029.129.828.128.027.727.527.2切削时间t/h89101112131415刀具厚度y/cm27.026.826.526.326.125.725.324.8首先对数据进行分析,画出离散的点,观察点近似的曲线:t=0:1:15;y=[30.0 29.1 29.8 28.1 28.0 27.7 27.5 27.2 27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8]; plot(t,y,'r*')判断出曲线是近似直线函数,所以对数据进行测试可以做三次函数拟合:t=0:1:15;27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8];y=[30.0 29.1 29.8 28.1 28.0 27.7 27.5 27.2 %plot(t,y,'r*')A=polyfit(t,y,3)z=polyval(A,t);plot(t,y,'r*',t,z,'b')拟合结果A =-0.3099 29.5676拟合函数为:y=-0.30991+29.56762. Malthus 人口指数增长模型年17901800181018201830184018501860人口(亿)3.95.37.29.612.917.123.231.4年18701880189019001910192019301940人口(亿)38.650.262.976.092.0106.5123.2131.7年195019601970198019902000人口(亿)150.7179.3204.0226.5251.4281.4用以上数据检验马尔萨斯人口指数增长模型,根据检验结果进一步讨论马尔萨斯人口模型的改进。
首先对数据进行分析,画出离散的点,观察点近似的曲线:x=1790:10:2000;y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4 281.4];plot(x,y,'r*')判断出曲线是近似抛物线函数,所以对数据进行二次函数拟合:x=1:10:220;y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0226.5 251.4 281.4];%plot(x,y,'r*')A=polyfit(x,y,2); z=polyval(A,x); plot(x,y,'r*',x,z,'b') y=poly2str(A,'x')*七七卡2501002001500 50 100 150 200 250拟合函数结果:y =0.0067365 x"2 — 0.13636 x + 6.42123.价格预测美国旧车价格的调查数据xi12345678910y.i2615194314941087765538484290226204分析用什么形式的曲线来拟合数据,并预测使用4、5 年后的旧车平均价格大致为多少。
首先对数据进行分析,画出离散的点,观察点近似的曲线x=1:1:10;y=[2615 1943 1494 1087 765 538 484 290 226 204];plot(x,y,'r*')0130002500200015001000500245678910=-LLLLLLLL士*十rrrrrrrr3判断出曲线是近似多次函数,所以对数据进行三次函数拟合:x=1:1:10;y=[2615 1943 1494 1087 765 538 484 290 226 204]; %plot(x,y,'r*')A=polyfit(x,y,3);z=polyval(A,x);plot(x,y,'r*',x,z,'b')y=poly2str(A,'x')300025002000150010005002345678910拟合结果:-2.6548 xA3 + 79.9522 xA2 - 852.8324 x + 3380.1预测4、5年后的旧车价格为:»y= -2.6548 *4A3 + 79.9522* 4A2 - 852.8324* 4 + 3380.1y =1.0781e+003>> y= -2.6548 *5A3 + 79.9522* 5A2 - 852.8324* 5 + 3380.1782.89304.用最小二乘法求一个形如y = a + bx 2的经验公式,数据如下:x1925313844y19.032.349.073.398.8x=[19,25,31,38,44];y=[19.0,32.3,49.0,73.3,97.8];funl=inline('c(l)+c(2)*x."2','c','x'); %拟合函数k=[0 0];c=lsqcurvefit(fun1,k,x,y) %求拟合系数['y=' ,num2str(c(l)),'+',num2str(c(2)),'x"2']%拟合函数表达式yl=c(l)+c(2)*x.'2; %拟合函数表达式值plot (x,y,'b*‘,x, yl,'r-');%绘制x, y点与拟合函数,比较拟合程度实验结果如下:Optimization terminated: first-order optimality less than OPTIONS.TolFun, and no negative/zero curvature detected in trust region model.0.9726 0.0500 ans =y=0.97258+0.050035xA2课程设计总结: 这次实验主要讲的是数据的拟合,对数据的处理首先是观察图像在近 似拟合,有的函数掌握的还不够彻底,需要查阅资料才能完成,以后遇到这种问题会更加仔 细,有些错误的地方还希望老师指出,再加以改进,谢谢!。






![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)





