第七讲-matlab实现非线性拟合.pptVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七讲-matlab实现非线性拟合

* 设有实验数据 ,寻找函数 使得函数在点 处的函数值与观测数据偏差的平方和达到最小.即求满足如下条件的函数 使得 其中 是待定的参数,而 就是最小二乘法所确定的最佳参数. 解决此类问题有以下几个步骤:(1)首先作出散点图,确定函数的类别;(2)根据已知数据确定待定参数的初始值,利用Matlab软件计算最佳参数;(3)根据可决系数,比较拟合效果,计算可决系数的公式为 其中 R2越趋近于1表明拟合效果越好. 如果是多项式函数,则称为多项式回归,此时的参数即多项式的系数;如果为指数函数、对数函数、幂函数或三角函数等,则称为非线性拟合.下面的图形给出了常见曲线与方程的对应关系: 在Matlab中实现可决系数的计算的例子: x=[2:16]; y=[6.42,8.2,9.58,9.5,9.7,10,9.93,9.99,10.49,10.59,10.6,10.8,10.6,10.9,10.76]; y1=x./(0.1152+0.0845*x); % 拟合曲线 R2=1-sum((y-y1).^2)/sum((y-mean(y)).^2) 幂函数 指数函数 双曲线函数 对数函数 指数函数 S形曲线 具有S形曲线的常见方程有: 罗杰斯蒂(logistic)模型: 龚帕兹(Gomperty)模型: 理查德(Richards)模型: 威布尔(Weibull)模型: 为了实现非线性拟合,首先要定义在线函数 1. inline 定义的函数:用于曲线拟合、数值计算 步骤:(1)建立M文件; (2)fun=inline(f(x) , 参变量,x) 例1. 建立函数: a,b,c为待定的参数 fun=inline(b(1)*(1-b(2)*exp(-b(3)*x)),b,x); 此处,将b看成参变量,b(1),b(2),b(3)为其分量. 若计算函数在x=0:0.1:1上的函数值,由于此时x为矩阵,只需将函数表达式中的某些量表示成向量有些*改成.*即可. 在实际问题中,有时散点图作出后未必是多项式的图形,可能像其他的曲线,这时可以猜测曲线类型,然后利用如下命令: [beta,r,J] = nlinfit(x,y,fun,beta0) 其中,x,y为原始数据,fun是在M文件中定义的函数,beta0是函数中参数的初始值;beta为参数的最优值,r是各点处的拟合残差,J为雅克比矩阵的数值. 例2. 已知如下数据,求拟合曲线 k=[ 0,47,93,140,186,279,372,465,558,651]; y=[18.98,27.35,34.86,38.52,38.44,37.73,38.43,43.87,42.77,46.22]; plot(k,y,*) 根据右图,我们猜测曲线为: 现在利用最小二乘法确定最佳参数:b1,b2,b3 b0=[43,0.6,0.1]; %初始参数值 fun=inline(b(1)*(1-b(2)*exp(-b(3)*k)),b,k); [b,r,j]=nlinfit(k,y,fun,b0); b %最佳参数 R=sum(r.^2) %误差平方和 b = 42.6643,0.5483,0.0099 即拟合曲线为: (图6.3) 拟合结果如右图所示,红色为拟合曲线图形,*为原始散点图. y1=42.6643*(1-0.5483*exp(-0.0099*k)); plot(k,y,*,k,y1,-or) 作图程序为: (图6.4) 练习:计算可决系数 *

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档