- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四、第二类切比雪夫多项式 [-1,1]上 正交性 递推关系 正交性 递推关系 五、埃尔米特(Hermite)多项式 数值分析——函数逼近 6.4.3 正交多项式族作最佳平方逼近 是区间[a,b]上带权的正交多项式序列 法方程简化为: 最佳平方逼近多项式为 : (1)切比雪夫: (2)勒让德 : 平方误差: 数值分析——函数逼近 【注】 (1) 用正交函数族作最佳平方逼近避免了法方程组的病态 . (2)首1n次式中勒让德在[-1,1]上与零的平方误差最小. 平方误差 : 数值分析——函数逼近 例6 求[-1,1]上的二次最佳 解: 勒让德多项式 平方逼近多项式 * 逼近多项式 平方误差 6.5 离散数据的最小二乘法 应用:曲线拟合、线性预测及超定方程组的求解. 几何意义: 如图 数值分析——函数逼近 * 问题的提法:给定数据表. (1)逼近函数类Ф: (2)最佳的意义: 误差平方和最小. 6.5.1 最小二乘解的计算 求S*(x) ,等价于求多元函数极值的问题. 令 利用极值的必要条件. 记 数值分析——函数逼近 由(6.15)式写成 , (6.15) 即 数值分析——函数逼近 由于 线性无关, 得唯一解ak*(k=0,1,…,n) 平方误差: 6.5.2 常用的多项式拟合 (1) 直线拟合(n=1): (2) 二次拟合(n=2): 法方程: 数值分析——函数逼近 满足法方程: 例8 求实验数据表的最小二乘拟合函数. 解: 描点作图: 取 计算得到: 列法方程: 解得: 得到最小二乘拟合曲线: 平方误差: 数值分析——函数逼近 例9 求一形如 的经验公式, 使它与给出的数据拟合. 解: 非线性函数线性化: 两边取对数,得到 : 其中 计算得: 法方程: 解得: 所以 所求最小二乘拟合的经验公式为: 平方误差: 数值分析——函数逼近 6.6 离散数据拟合的MATLAB函数 一、polyfit 1.polyfit()函数:求离散数据的多项式拟合. 命令格式为:a=polyfit(x,y,n) 2.polyval()函数:求多项式在某一点处的函数值. 命令格式为:y=polyval(p,x) 例8 利用polyfit作二次拟合,输出多项式的系数, 并利用polyval计算拟合多项式值,画出拟合曲线. x=[-2 -1 0 1 2 3 4];y=[19.5 10.2 3.5 4.8 12.4 26.1 43.9]; a=polyfit(x,y,2) xx=-2:0.1:4;yy=polyval(a,xx); plot(xx,yy,x,y,*) 数值分析——函数逼近 运行得:a = 2.9774 -1.8869 4.2000.拟合曲线见图. 二、lsqcurvefit 非线性最小二乘拟合函数. 命令格式为: x=lsqcurvefit(fun,x0,xdata,ydata) 例9 利用lsqcurvefit作非线性最小二乘拟合. x=[1 2 3 4];y=[7 11 17 27]; f=inline(a(1)*exp(a(2).*x),a,x); a=lsqcurvefit(f,[4 0.4],x,y) 运行得到:a = 4.4274 0.4515. 数值分析——函数逼近 三、lsqnonlin 非线性最小二乘拟合函数. 命令格式为: x=lsqnonlin(fun,x0) 例9 利用lsqnonlin作非线性最小二乘拟合. function y=curve_fun(p) x=[1 2 3 4];y=[7 11 17 27]; y=p(1)*exp(p(2).*x)-y; a=lsqnonlin(curve_fun,[4 0.4]) 编写拟合的目标函数curve_fun.m 利用lsqnonlin函数求解 运行得到:a = 4.4274 0.4515. 四、nlinfit 非线性回归函数 命令格式为:beta= nlinfit(x,y,fun,beta0) 数值分析——函数逼近 例9 利用nlinfit作非线性最小二乘拟合. x=[1 2 3 4];y=[7 11 17 27]; f=inline(a(1)*exp(a(2).*x),a,x); a=nlinfit(x,y,f,[4 0.4]) 运行得到:a = 4.4274 0.4515. 数值分析——函数逼近 * 【注】 MATLAB配有自动选择数学模型的程序,可供选择的因变量与自变量变换的函数类型较多,通过计算比较误差找到拟合得较好的曲线,最后输出曲线图形及数学表达式. 用最小二乘法得到的法方程,其系数矩阵是病态的.为克服法方程的“病态”,可用正交多项式基底来构造逼近多项式.
文档评论(0)