资源描述:
《数学建模使用MATLAB进行数据拟合.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.线性最小二乘法x=[1925313844]';y=[19.032.349.073.397.8]';r=[ones(5,1),x.^2];ab=ry%ifAB=CthenB=ACx0=19:0.1:44;y0=ab(1)+ab(2)*x0.^2;plot(x,y,'o',x0,y0,'r')运行结果:2.多项式拟合方法x0=[1990199119921993199419951996];y0=[70122144152174196202];a=polyfit(x0,y0,1)y97=polyval
2、(a,1997)x1=1990:0.1:1997;y1=a(1)*x1+a(2);plot(x1,y1)holdonplot(x0,y0,'*')plot(1997,y97,'o')3.最小二乘优化3.1lsqlin函数例四:x=[1925313844]';y=[19.032.349.073.397.8]';r=[ones(5,1),x.^2];ab=lsqlin(r,y)x0=19:0.1:44;y0=ab(1)+ab(2)*x0.^2;plot(x,y,'o',x0,y0,'r')3.2lsqc
3、urvefit函数(1)定义函数functionf=fun1(x,tdata);f=x(1)+x(2)*exp(-0.02*x(3)*tdata);%其中x(1)=a,x(2)=b,x(3)=k(2)td=100:100:1000;cd=[4.544.995.355.655.906.106.266.396.506.59];x0=[0.20.050.05];x=lsqcurvefit(@fun1,x0,td,cd)%x(1)=a,x(2)=b,x(3)=kt=100:10:1000;c=x(1)+x(
4、2)*exp(-0.02*x(3)*t);plot(t,c)holdonplot(td,cd,'*')3.2lsqnonlin函数(1)定义函数functionf=fun2(x);td=100:100:1000;cd=[4.544.995.355.655.906.106.266.396.506.59];f=x(1)+x(2)*exp(-0.02*x(3)*td)-cd;(2)主函数x0=[0.20.050.05];%初始值是任意的x=lsqnonlin(@fun2,x0)3.4lsqnonneg函数
5、MATLAB:c=[0.03720.2869;0.68610.7071;0.62330.6245;0.63440.6170];d=[0.8587;0.1781;0.0747;0.8405];x=lsqnonneg(c,d)4.曲线拟合的用户图形界面求法Matlab工具箱提供了命令cftool,该命令给出了一维数据拟合的交互式环境。具体执行步骤如下:(1)把数据导入到工作空间;(2)运行cftool,打开用户图形界面窗口;(3)对数据进行预处理;(4)选择适当的模型进行拟合;(5)生成一些相关的统计量
6、,并进行预测。