《多项式与插值》PPT课件.ppt
《《多项式与插值》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《多项式与插值》PPT课件.ppt(109页珍藏版)》请在三一办公上搜索。
1、,第四章 多项式与插值,4.1 MATLAB与多项式,一、多项式的建立1.MATLAB中多项式用行向量表示,其元素为 多项式的系数,且从左至右按降幂排列;2.已知一个多项式的全部根 X,求多项式系数的函数是poly(X),该函数返回以 X为全部根的一个多项式 P(首项系数为1),当 X是一个长度为m的向量时,P是一个长度为 m+1的向量。,3.给定 n+1个点可以唯一确定一个 n 阶多项式,利 用polyfit可以确定多项式的系数。调用格式为:p=polyfit(x,y,n)其中 x,y是同维向量,代表数据点的横、纵坐标,n 是多项式的阶数。,二、多项式计算1.多项式求根 求多项式 p(x)的
2、根的函数是roots(P),这里,P是 p(x)的系数向量,该函数返回方程 p(x)=0 的全部根(含重根,复根)。2.多项式求值 求多项式 p(x)在某点或某些点的函数值的函数是polyval(P,x)。若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。,例1 已知一个多项式(1)计算f(x)=0 的全部根。(2)由方程f(x)=0的根构造一个多项式 g(x),并与 f(x)进行对比。(3)计算f(5)、f(7.8)、f(9.6)、f(12.3)的值。,P=3,0,4,-5,-7.2,5;X=roots(P)%求方程f(x)=0的根 G=poly
3、(X)%求多项式g(x)X0=5,7.8,9.6,12.3;f=polyval(P,X0)%求多项式f(x)在给定点的值,3.多项式的四则运算(1)多项式的加减法,注:多项式求值还有一个函数是polyvalm,其调用格式与polyval相同,但含义不同。polyvalm函数要求x为方阵,它以方阵为自变量求多项式的值。,function p3=poly_add(p1,p2)n1=length(p1);n2=length(p2);if n1=n2 p3=p1+p2;endif n1n2,p3=p1+zeros(1,n1-n2),p2;endif n1n2,p3=zeros(1,n2-n1),p1+
4、p2;end,加法:c=poly_add(a,b)减法:c=poly_add(a,-b),(2)多项式的乘法 函数conv(P1,P2)用于求多项式P1和P2的乘积。(3)多项式的除法 函数Q,r=deconv(P1,P2)用于对多项式P1和P2作除法运算。其中Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍是多项式系数向量。deconv是conv的逆函数,即有P1=conv(P2,Q)+r。,例2 设有两个多项式,计算:(1)求f(x)+g(x)、f(x)-g(x)。(2)求f(x)g(x)、f(x)/g(x)。,f=3,-5,2,-7,5,6;g=3,5,-3;po
5、ly_add(f,g)%求f(x)+g(x)poly_add(f,-g)%求f(x)-g(x)conv(f,g)%求f(x)*g(x)Q,r=deconv(f,g)%求f(x)/g(x),商式送Q,余式送r。,4.多项式的微分与积分(1)对多项式求导数的函数是:p=polyder(P)求多项式P的导函数 p=polyder(P,Q)求P*Q的导函数 p,q=polyder(P,Q)求P/Q的导函数,导函数的 分子存入p,分母存入q。(2)对多项式的积分函数:d=poly_itg(c)d是多项式c积分后的系数,但 不包括积分常数,function py=poly_itg(p)n=length(p
6、);py=p.*n:-1:1.(-1),0;,例3 求有理分式的导数。,P=3,5,0,-8,1,-5;Q=10,5,0,0,6,0,0,7,-1,0,-100;p,q=polyder(P,Q),若求多项式P的积分:,c=poly_itg(P),4.2 MATLAB插值,通常取 为多项式函数代数插值(多项式插值),已知f(x)在点xi上的函数值 yi=f(xi),(i=0,1,2,n),则称 P(x)为 f(x)的 n 次代数插值多项式.称x0,x1,xn为插值结点;P(x)为插值函数;条件P(xk)=yk(k=0,1,n)为插值条件;f(x)为被插值函数.,如果 P(x)=a0+a1x+an
7、xn满足:P(xk)=yk(k=0,1,n),设 f(x)C a,b,取点 a x0 x1xnb,代数插值问题,定理:若插值结点x0,x1,xn 是(n+1)个互异点,则满足插值条件 P(xk)=yk(k=0,1,n)的n次插值多项式 P(x)=a0+a1x+anxn存在而且是唯一的。,方程组系数矩阵取行列式,故方程组有唯一解.从而插值多项式P(x)存在而且是唯一的.,构造3次多项式P(x)逼近 Erf(x),设P(x)=a0+a1x+a2x2+a3x3,令 P(xk)=Erf(xk),得,求解,得a0=0,a1=1.293,a2=-0.5099,a3=0.0538所以,P(x)=1.293
8、x 0.5099 x2+0.0538 x3,MATLAB计算程序x=0:.6:1.8;y=erf(x);x=x;y=y;A=ones(4,1)x x.2 x.3;p=Ay;a0=p(1);a1=p(2);a2=p(3);a3=p(4);t=0:.2:2;u=a0+a1*t+a2*t.2+a3*t.3;plot(x,y,o,t,u),注:一次多项式插值-过两点直线;二次多项式插值-过三点抛物线;不用待定系数法-(1)计算量大;(2)不易讨论误差;,几何意义:两条曲线有交点(公共点),一、线性插值,线性插值是两个数据点的直线拟合,或,误差估计:,在MATLAB中,命令 interp1可做线性插值,
9、调用格式为:yiinterp1(x,y,xi),其中 x 表示数据点横坐标的列数组,y 表示数据纵坐标的列数组(可以有多列)。,另外,interp1命令有三种可选参数,yi=interp1(x,y,xi,linear)线性插值(缺省)yi=interp1(x,y,xi,spline)三次样条yi=interp1(x,y,xi,cubic)三次插值,例3 已知数据表如下,分别求 y0.9,0.7,0.6,0.5 处 x 的值。,x=0.0,0.25,0.5,0.75,1.0;y=0.9126,0.8109,0.6931,0.5596,0.4055;yi=0.9,0.7,0.6,0.5xi=int
10、erp1(y,x,yi,linear);yi,xi,ans 0.9000 0.0310 0.7000 0.4854 0.6000 0.6743 0.5000 0.8467,二、用幂级数做多项式插值,给定 n+1 个数据点:,过 n+1个点的 n 阶多项式可写为幂级数形式:,注:过 n1个数据点的 n 阶插值多项式是唯一的。,对 n1个数据点,设,则得到 n+1个线性方程,可以表示为矩阵形式,求解该方程组可确定系数(或用 polyfit(x,y,n)确定),例3 求下列数据点拟合多项式的系数,并求当x2.101和4.234处 y 的值,并画出数据点和曲线。,x=1.1,2.3,3.9,5.1;y
11、=3.887,4.276,4.651,2.117;n=length(x)-1;a(:,n+1)=ones(size(x);a(:,n)=x;for j=n-1:-1:1 a(:,j)=a(:,j+1).*x;endcoeff=ay;,xi=2.101,4.234;yi=zeros(size(xi);for k=1:n+1 yi=yi+coeff(k)*xi.(n+1-k)endxp=1.1:0.05:5.1;yp=zeros(size(xp);for k=1:n+1 yp=yp+coeff(k)*xp.(n+1-k);endplot(xp,yp,x,y,ro),三、Lagrange插值多项式,
12、1.插值基函数,形状函数的图形如下(n8),2.Lagrange插值多项式,function fi=Lagran_(x,f,xi)fi=zeros(size(xi);np1=length(f);for i=1:np1 z=ones(size(xi);for j=1:np1 if i=j z=z.*(xi-x(j)/(x(i)-x(j);end end fi=fi+z*f(i);endreturn,3.MATLAB程序实现:,调用格式:yi=Lagran_(x,y,xi),clearx=1.1,2.3,3.9,5.1;y=3.887,4.276,4.651,2.117;xi=2.101,4.23
13、4;yi=Lagran_(x,y,xi),例4:写出拟合下面三个数据点的Lagrange插值公式,并计算 x2.101、4.234时 y 的值。,4.截断误差:,例5 用 的5个等距点对函数进行插值估计。,插值结果及误差分布如下图:,可见,误差峰值出现在端点附近的区间里,这是由于 的局部峰值在端点附近。,Runge反例:,(-5x5),取xk=5+k 计算:f(xk)(k=0,1,10)构造L10(x).取:tk=5+0.05k(k=0,1,200),计算:L10(tk),x=-5:5;y=1./(1+x.2);t=-5:0.05:5;y1=1./(1+t.2);n=length(t);for
14、 i=1:n z=t(i);s=0;for k=1:11 Lk=1;u=x(k);for j=1:11 if j=k,Lk=Lk*(z-x(j)/(u-x(j);end end s=s+Lk*y(k);end y2(i)=s;endplot(x,y,ko,t,y1,t,y2,r),减小误差的方案:(1)减小插值区域,即 ba;(2)增加数据点个数;(3)使用可变间距的数据点(Chebyshev点)。,总结:(1)尽可能在小区间上使用多项式插值;(2)只能在一定范围内依靠增加插值点个数提高插值精度,如果插值点个数过多往往会适得其反。,5.Lagrange 插值公式的微分与积分,插值公式,微分,实
15、际上,是一个拟合如下数据点的 n 阶多项式,一般地,是拟合数据点的多项式,所以,多项式 可通过拟合待定数据点的 n 阶多项式表示为幂级数形式。,对所有 i,的幂级数形式可用函数 shape_pw 计算,function p=shape_pw(x)np=length(x);for j=1:np y=zeros(1,np);y(j)=1;p(j,:)=polyfit(x,y,np-1);end,如例4也可求解如下:,x=1.1,2.3,3.9,5.1;y=3.887,4.276,4.651,2.117;xi=2.101,4.234;np=length(x);p=shape_pw(x);s=0;fo
16、r i=1:np s=s+p(i,:).*y(i);endsyi=polyval(s,xi),结果为:yi 4.1457 4.3007,为计算Lagrange插值多项式的一阶导数,可用polyder函数将 p 的每一行转换为一阶导数的系数数组。,x=1.1,2.3,3.9,5.1;y=3.887,4.276,4.651,2.117;xi=2.101,4.234;np=length(x);p=shape_pw(x);s=0;for i=1:np s=s+polyder(p(i,:).*y(i);endyi=polyval(s,xi),结果为:yi 0.6292-1.4004,取x0,x1,x2,
17、求二次函数 P(x)=a0+a1(x x0)+a2(x x0)(x x1)满足条件 P(x0)=f(x0),P(x1)=f(x1),P(x2)=f(x2),插值条件引出关于a0,a1,a2方程,四、牛顿插值问题,解下三角方程组过程中引入符号,a0=f(x0),a1=fx1,x2,a2=fx0,x1,x2,P(x)=a0+a1(x x0)+a2(x x0)(x x1),定义:若已知函数 f(x)在点 x0,x1,xn 处的值 f(x0),f(x1),f(xn),如果 i j,则,n阶均差,例 由函数表求各阶均差,解:按公式计算一阶差商、二阶差商、三阶差商如下,MATLAB程序计算,-56-16-
18、2-2 4-56 40 14 0 3-56 40-13-7 1-56 40-13 2 2-56 40-13 2 0,x=-2-1 0 1 3;y=-56-16-2-2 4;f=yn=length(x);for k=2:n for j=n:-1:k f(j)=(f(j)-f(j-1)/(x(j)-x(j+1-k);end fend,另外一个程序:x=-2-1 0 1 3;y=-56-16-2-2 4;n=length(x);A=zeros(n,n);A(:,1)=y;for j=2:n for i=j:n A(i,j)=(A(i,j-1)-A(i-1,j-1)/(x(i)-x(i-j+1);en
19、dend A,-56 0 0 0 0-16 40 0 0 0-2 14-13 0 0-2 0-7 2 0 4 3 1 2 0,在编写牛顿插值多项式程序之前,复习几个命令:例 6.1.2 求三个一次多项式积。它们的零点分别依次为0.4、0.8、1.2。解:X1=0.4,0.8,1.2;l1=poly(X1),L1=poly2sym(l1)运行后输出结果为l1=1.0000-2.4000 1.7600-0.3840L1=x3-12/5*x2+44/25*x-48/125 P1=poly(0.4);P2=poly(0.8);P3=poly(1.2);C=conv(conv(P1,P2),P3),L1
20、=poly2sym(C)运行后输出的结果与方法1相同.,牛顿插值多项式的函数文件:function A,C,L=newploy(X,Y)n=length(X);A=zeros(n,n);A(:,1)=Y;for j=2:n for i=j:n A(i,j)=(A(i,j-1)-A(i-1,j-1)/(X(i)-X(i-j+1);endend C=A(n,n);for k=(n-1):-1:1 C=conv(C,poly(X(k);d=length(C);C(d)=C(d)+A(k,k);endL(k,:)=poly2sym(C);,例:给出节点X=-2.15-1.00 0.01 1.02 2.



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多项式与插值 多项式 PPT 课件

链接地址:https://www.31ppt.com/p-5489249.html