Matlab math 多项式和样条 Cleve morler著 一陈文斌(wbchen@fudan.edu.cn) 复旦大学2002
Matlab Math Cleve Morler著 陈文斌(wbchen@fudan.edu.cn) 复旦大学2002 多项式和样条
插值多项式 在平面上给定n个点(x)可以唯一确定一个最多n 1次的多项式通过这些点,这个多项式叫插值多项式 P(xk)=yk,k=1,2, Lagrange插值形式 X-X P(x)=∑I k(j≠Ek X-X
在平面上给定n个点(xk ,yk ),可以唯一确定一个最多n- 1次的多项式通过这些点,这个多项式叫插值多项式 插值多项式 P(xk ) = yk , k = 1,2,…,n Lagrange插值形式 − − = k k j k k j j y x x x x P(x)
插值多项式例子 MATLAB X=0:3; y=[-5-6-116]; disp(lx; y D P(x) (x-1)(x-2)(x-3 (-5)+x(x-2)x-3) (-6)+ (-6) x(x-1)(x-3 (-1)+ (x-1)(x (16) (6) P(x)=x3-2x-5
插值多项式例子 x =0:3; y = [-5 –6 –1 16]; disp([x; y]) (16) (6) ( 1)( 2) ( 1) ( 2) ( 1)( 3) ( 6) (2) ( 2)( 3) ( 5) ( 6) ( 1)( 2)( 3) ( ) − − − + − − − − + − − − + − − − − = x x x x x x x x x x x x P x ( ) 2 5 3 P x = x − x −
Monomial基 P(x)=Cx"+C2x+.+Cnx+c VI 2 y2 2 Vandermonde矩阵 h-J MATLAB x=03;y=[-56-116,P(x)=x3-2x-5 V= vander(x) Vandermonde矩阵是非 奇异的,但条件数是非 常坏的
Monomial基 n n n n P x = c x + c x + + c x + c − − − 1 2 2 1 1 ( ) ... = − − − − − − n n n n n n n n n n n y y y c c c x x x x x x x x x 2 1 2 1 1 2 2 2 2 1 2 1 2 1 1 1 1 1 1 Vandermonde矩阵 n j k j k v x − , = x =0:3; y = [-5 –6 –1 16]; V = vander(x) c = V\y’ ( ) 2 5 3 P x = x − x − Vandermonde矩阵是非 奇异的,但条件数是非 常坏的
Polyinterp (Lagrange插值形式) MATLAB function v= polyinterp(x, y, u) n=length(x for k= 1: n w=ones(size(u)) forj=[1: k-1 k+l: n w=(u-O)./(x(k-x).*w er +w*y(k); end
Polyinterp(Lagrange插值形式) function v = polyinterp(x,y,u) n = length(x); for k = 1:n w = ones(size(u)); for j = [1:k-1 k+1:n] w = (u – x(j))./(x(k) – x(j)).*w; end v = v + w*y(k); end