文档详情

第六章 多项式 插值与数据拟合.ppt

发布:2017-09-06约1.74万字共88页下载文档
文本预览下载声明
第六章 Matlab在数值分析中的应用 插值与拟合 积分与微分 线性方程组求解 非线性方程组求解 函数极值与最优化问题 特征值与常微分方程的解法 傅里叶分析与快速傅里叶变换 偏微分方程数值解问题 6.1.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 所有零点由一个列向量给出。 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:求两个多项式的和,其调用格式为: c= poly_add(a,b) 多项式a减去b,可表示为: c= poly_add(a,-b) 功能:两个多项式相加 调用格式:b=poly_add(p1,p2) b:求和后的系数数组 poly_add.m function p3=poly_add(p1,p2) n1=length(p1); n2=length(p2); if n1==n2 p3=p1+p2;end if n1n2 p3=p1+[zeros(1,n1-n2),p2];end if n1n2 p3=[zeros(1,n2-n1),p1]+p2;end m阶多项式与n阶多项式的乘积是d=m+n阶的多项式: 计算 系数的MATLAB命令是:c=conv(a,b) 多项式 除多项式 的除法满足: 其中 是商, 是除法
显示全部
相似文档