用MATLAB作曲线拟合doc资料.ppt

用MATLAB作曲线拟合doc资料.ppt

ID:59718564

大小:127.00 KB

页数:12页

时间:2020-11-20

用MATLAB作曲线拟合doc资料.ppt_第1页
用MATLAB作曲线拟合doc资料.ppt_第2页
用MATLAB作曲线拟合doc资料.ppt_第3页
用MATLAB作曲线拟合doc资料.ppt_第4页
用MATLAB作曲线拟合doc资料.ppt_第5页
资源描述:

《用MATLAB作曲线拟合doc资料.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、用MATLAB作曲线拟合(1)lsqcurvefit已知数据点:xdata=(xdata1,xdata2,…,xdatan),ydata=(ydata1,ydata2,…,ydatan)2.非线性拟合Matlab的提供了两个求非线性最小二乘拟合的函数:lsqcurvefit和lsqnonlin。两个命令都要先建立M-文件fun.m,在其中定义函数f(x),但两者定义f(x)的方式是不同的,可参考例题.lsqcurvefit用以求含参量x(向量)的向量值函数F(x,xdata)=(F(x,xdata1),…,F(x,xdatan))T中的参变量x(向量),使得输入格式

2、为:(1)x=lsqcurvefit(‘fun’,x0,xdata,ydata);(2)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options);(3)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options,’grad’);(4)[x,options]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);(5)[x,options,funval]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);(6)[x,options,funval,Jacob]=lsqcurv

3、efit(‘fun’,x0,xdata,ydata,…);fun是一个事先建立的定义函数F(x,xdata)的M-文件,自变量为x和xdata说明:x=lsqcurvefit(‘fun’,x0,xdata,ydata,options);迭代初值已知数据点选项见无约束优化lsqnonlin用以求含参量x(向量)的向量值函数f(x)=(f1(x),f2(x),…,fn(x))T中的参量x,使得最小。其中fi(x)=f(x,xdatai,ydatai)=F(x,xdatai)-ydatai2.lsqnonlin已知数据点:xdata=(xdata1,xdata2,…,xd

4、atan)ydata=(ydata1,ydata2,…,ydatan)输入格式为:1)x=lsqnonlin(‘fun’,x0);2)x=lsqnonlin(‘fun’,x0,options);3)x=lsqnonlin(‘fun’,x0,options,‘grad’);4)[x,options]=lsqnonlin(‘fun’,x0,…);5)[x,options,funval]=lsqnonlin(‘fun’,x0,…);说明:x=lsqnonlin(‘fun’,x0,options);fun是一个事先建立的定义函数f(x)的M-文件,自变量为x迭代初值选项见无

5、约束优化例2用下面一组数据拟合中的参数a,b,k该问题即解最优化问题:1)编写M-文件curvefun1.mfunctionf=curvefun1(x,tdata)f=x(1)+x(2)*exp(-0.02*x(3)*tdata)%其中x(1)=a;x(2)=b;x(3)=k;2)输入命令tdata=100:100:1000cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];x0=[0.2,0.05,0.05];x=lsqcurvefit('curvefun1',x0,tdata,cdata

6、)f=curvefun1(x,tdata)F(x,tdata)=,x=(a,b,k)解法1.用命令lsqcurvefit解法2:用命令lsqnonlinf(x)=F(x,tdata,ctada)=x=(a,b,k)1)编写M-文件curvefun2.mfunctionf=curvefun2(x)tdata=100:100:1000;cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];f=x(1)+x(2)*exp(-0.02*x(3)*tdata)-cdata2)输入命令:x0=[0.2,0

7、.05,0.05];x=lsqnonlin('curvefun2',x0)f=curvefun2(x)函数curvefun2的自变量是x,cdata和tdata是已知参数,故应将cdatatdata的值写在curvefun2.m中可以看出,两个命令的计算结果是相同的.3)运算结果为:f=0.00430.00510.00560.00590.00610.00620.00620.00630.00630.0063x=0.0063-0.00340.25424)拟合得a=0.0063b=-0.0034k=0.2542温度t(0C)20.532.751.073.095.7电阻

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。