暑期培训Matlab之工具箱1..ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用MATLAB解拟合问题 1.线性最小二乘拟合 2.非线性最小二乘拟合 用MATLAB作线性最小二乘拟合 1. 作多项式f(x)=a1xm+ …+amx+am+1拟合,可利用已有程序: a=polyfit(x,y,m) 2. 对超定方程组 可得最小二乘意义下的解. ,用 3.多项式在x处的值y可用以下命令计算: y=polyval(a,x) 输出拟合多项式系数 a=[a1, …,am , am+1] (数组)) 输入同长度 的数组x,y 拟合多项 式次数 即要求 出二次多项式: 中 的 使得: 例 对下面一组数据作二次多项式拟合 1)输入以下命令: x=0:0.1:1; y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; R=[(x.^2) x ones(11,1)]; A=R\y MATLAB(zxec1) 解法1.用解超定方程的方法 2)计算结果: A = -9.8108 20.1293 -0.0317 1)输入以下命令: x=0:0.1:1; y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; A=polyfit(x,y,2) z=polyval(A,x); plot(x,y,k+,x,z,r) %作出数据点和拟合曲线的图形 2)计算结果: A = -9.8108 20.1293 -0.0317 解法2.用多项式拟合的命令 1. lsqcurvefit 已知数据点: xdata=(xdata1,xdata2,…,xdatan), ydata=(ydata1,ydata2,…,ydatan) 用MATLAB作非线性最小二乘拟合 MATLAB提供了两个求非线性最小二乘拟合的函数:lsqcurvefit和lsqnonlin.两个命令都要先建立M文件fun.m,在其中定义函数f(x),但两者定义f(x)的方式是不同的,可参考例题. lsqcurvefit用以求含参量x(向量)的向量值函数 F(x,xdata)=(F(x,xdata1),…,F(x,xdatan))T 中的参变量x(向量),使得 输入格式为: (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]=lsqcurvefit(‘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)-ydatai 2. lsqnonlin 已知数据点: xdata=(xdata1,xdata2,…,xdatan) 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 (‘

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档