m阶多项式与n阶多项式的乘积是dm+n阶的多项式 J1a=a1x"+axm-1+…+a.x+(m+1 Dh =b,x"+b,x +bnx+b,l y=yayb=c1x+C2x+……+cax+ca+1 计算y系数的 MATLAB命令是c=conv(a2b) 多项式yb除多项式y的除法满足 y=y少b+y 其中y是商,y是除法的余数。多项式yq和 y可由命令 decon算出。 例:[q,r}= decon(a, b)
• m阶多项式与n阶多项式的乘积是d=m+n阶的多项式: 计算 系数的MATLAB命令是:c=conv(a,b) • 多项式 除多项式 的除法满足: 其中 是商, 是除法的余数。多项式 和 可由命令deconv算出。 例:[q, r]=deconv(a,b) 1 1 2 1 d d c a b d d y y y c x c x c x c − = = + + + + + c y b y a y a q b r y y y y = + q y r y q y r y 1 1 2 1 m m a m m y a x a x a x a − = + + + + + 1 1 2 1 n n b n n y b x b x b x b − = + + + + +
例 >>a=[2,-5,6,-19];b=[3,90,-18]; >c=conv(a, b) 6-195432-4539-792-162 >>la, r=decon(c, b) r 0000000 > poly2sym(c) ans 6*x^6-195*x^5+432*x4-453*x^3+9*x2-792米x-162
• 例 >> a=[2,-5,6,-1,9]; b=[3,-90,-18]; >> c=conv(a,b) c = 6 -195 432 -453 9 -792 -162 >> [q,r]=deconv(c,b) q = 2 -5 6 -1 9 r = 0 0 0 0 0 0 0 >> poly2sym(c) ans = 6*x^6-195*x^5+432*x^4-453*x^3+9*x^2-792*x-162
22 Lagrange插值 方法介绍 对给定的n个插值点x,x及对应的函 数值y,y2…yn,利用n次 Lagrange插值多项式, 则对插值区间内任意x的函数值y可通过下式 求的 d-a y(x)=∑yk(I k=1 ×k MATLAB实现
2.2 Lagrange插值 • 方法介绍 对给定的n个插值点 及对应的函 数值 ,利用n次Lagrange插值多项式, 则对插值区间内任意x的函数值y可通过下式 求的: • MATLAB实现 1 2 , , , n x x x 1 2 , , , n y y y 1 1 ( ) ( ) n n j k k j k j j k x x y x y = = x x − = −
function y-lagrange(x0,y0, x) X-x iF1: length(xO);y-zeros(size(x)), y(x)=vI for i=ii j≠k ij-find(ii- for j=1: length(1], y1=y1. *(x-X0(O); end y=y+yl*yo(/prod(x0(1)-xo(j) end 算例:给出邱(x)=ln(x)的数值表,用 Lagrange计算 ln(0.54)的近似值。 [0.4:0.1:0.8] >>y=[-0.916291,-0693147,-0.510826,-0.356675,0.223144] > lagrange(x, y, 0. 54) ans -0.6161 (精确解-0.616143)
function y=lagrange(x0,y0,x) ii=1:length(x0); y=zeros(size(x)); for i=ii ij=find(ii~=i); y1=1; for j=1:length(ij), y1=y1.*(x-x0(ij(j))); end y=y+y1*y0(i)/prod(x0(i)-x0(ij)); end • 算例:给出f(x)=ln(x)的数值表,用Lagrange计算 ln(0.54)的近似值。 >> x=[0.4:0.1:0.8]; >> y=[-0.916291,-0.693147,-0.510826,-0.356675,-0.223144]; >> lagrange(x,y,0.54) ans = -0.6161 (精确解-0.616143) 1 1 ( ) ( ) n n j k k j k j j k x x y x y = = x x − = −
23 Hermite插值 方法介绍 不少实际问题不但要求在节点上函数值相等,而且 要求导数值也相等,甚至要求高阶导数值也相等,满足 这一要求的插值多项式就是 Hermite插值多项式。下面 只讨论函数值与一阶导数值个数相等且已知的情况 已知n个插值点x2x2,…x及对应的函数值 y2…y和一阶导数值η,y2…,yn。则对插值区间 内任意x的函数值y的 Hermite插值公式 y(x)=>h,(x-x)(2a, y,-yi)+y] x-x 其中h=(
2.3 Hermite插值 • 方法介绍 不少实际问题不但要求在节点上函数值相等,而且 要求导数值也相等,甚至要求高阶导数值也相等,满足 这一要求的插值多项式就是Hermite插值多项式。下面 只讨论函数值与一阶导数值个数相等且已知的情况。 已知n个插值点 及对应的函数值 和一阶导数值 。则对插值区间 内任意x的函数值y的Hermite插值公式: 1 2 , , , n x x x 1 2 , , , n y y y ' ' ' 1 2 y y y , , , n ' 1 2 1 1 ( ) [( )(2 ) ] 1 ( ) ; n i i i i i i i n n j i i j i j i j j j i j i y x h x x a y y y x x h a x x x x = = = = − − + − = = − − 其中