- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章:多项式、插值与数据拟合
第五章 多项式、插值与数据拟合 多项式MATLAB命令 插值 Lagrange插值 Hermite插值 Runge现象和分段插值 分段插值 样条插值的MATLAB表示 数据拟合 多项式拟合 函数线性组合的曲线拟合方法 最小二乘曲线拟合 B样条函数及其MATLAB表示 5.1 关于多项式MATLAB命令 一个多项式的幂级数形式可表示为: 也可表为嵌套形式 或因子形式 N阶多项式n个根,其中包含重根和复根。若多项式所有系数均为实数,则全部复根都将以共轭对的形式出现 幂系数:在MATLAB里,多项式用行向量表示,其元素为多项式的系数,并从左至右按降幂排列。 例: 被表示为 p=[2 1 4 5] poly2sym(p) ans = 2*x^3+x^2+4*x+5 Roots: 多项式的零点可用命令roots求的。 例: r=roots(p) 得到 r = 0.2500 + 1.5612i 0.2500 - 1.5612i -1.0000 所有零点由一个列向量给出。 Poly: 由零点可得原始多项式的各系数,但可能相差一个常数倍。 例: poly(r) ans = 1.0000 0.5000 2.0000 2.5000 注意:若存在重根,这种转换可能会降低精度。 例: r=roots([1 -6 15 -20 15 -6 1]) r = 1.0042 + 0.0025i 1.0042 - 0.0025i 1.0000 + 0.0049i 1.0000 - 0.0049i 0.9958 + 0.0024i 0.9958 - 0.0024i 舍入误差的影响,与计算精度有关。 polyval: 可用命令polyval计算多项式的值。 例: 计算y(2.5) c=[3,-7,2,1,1]; xi=2.5; yi=polyval(c,xi) yi = 23.8125 如果xi是含有多个横坐标值的数组,则yi也为与xi长度相同的向量。 c=[3,-7,2,1,1]; xi=[2.5,3]; yi=polyval(c,xi) yi = 23.8125 76.0000 polyfit:给定n+1个点将可以唯一确定一个n阶多项式。利用命令polyfit可容易确定多项式的系数。 例: x=[1.1,2.3,3.9,5.1]; y=[3.887,4.276,4.651,2.117]; a=polyfit(x,y,length(x)-1) a = -0.2015 1.4385 -2.7477 5.4370 poly2sym(a) ans = -403/2000*x^3+2877/2000*x^2-27477/10000*x+5437/1000 多项式为 Polyfit的第三个参数是多项式的阶数。 多项式积分: 功能:求多项式积分 调用格式:py=poly_itg(p) p:被积多项式的系数 py:求积后多项式的系数 poly_itg.m function py=poly_itg(p) n=length(p); py=[p.*[n:-1:1].^(-1),0] 不包括最后一项积分常数 多项式微分: Polyder: 求多项式一阶导数的系数。 调用格式为: b=polyder(c ) c为多项式y的系数,b是微分后的系数, 其值为: 两个多项式的和与差: 命令poly_add:
文档评论(0)