matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

6.3.5 牛顿插值法的MATLAB综合程序

6.3.5  牛顿插值法的MATLAB综合程序

求牛顿插值多项式、差商、插值及其误差估计的MATLAB主程序

function [y,R,A,C,L]=newdscg(X,Y,x,M)

n=length(X); m=length(x);

for t=1:m

   z=x(t); A=zeros(n,n);A(:,1)=Y';

s=0.0; p=1.0; q1=1.0; c1=1.0;

         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));

           end

            q1=abs(q1*(z-X(j-1)));c1=c1*j;

         end

          C=A(n,n);q1=abs(q1*(z-X(n)));

for k=(n-1):-1:1

C=conv(C,poly(X(k)));

d=length(C);C(d)=C(d)+A(k,k);

end

       y(k)= polyval(C, z);

end

R=M*q1/c1;L(k,:)=poly2sym(C);

 

例6.3.6  给出节点数据,作三阶牛顿插值多项式,计算,并估计其误差.

解 首先将名为newdscg.m的程序保存为M文件,然后在MATLAB工作窗口输入程序

>> syms M,X=[-4,0,1,2]; Y =[27,1,2,17]; x=-2.345;

[y,R,A,C,P]=newdscg(X,Y,x,M)

运行后输出插值y及其误差限公式R,三阶牛顿插值多项式P及其系数向量C,差商的矩阵A如下

y =

22.3211

R =

1323077530165133/562949953421312*M(即R =2.3503*M)

A=

27.0000         0         0         0

    1.0000    -6.5000         0         0

    2.0000     1.0000    1.5000         0

   17.0000    15.0000    7.0000     0.9167

C =

    0.9167    4.2500   -4.1667    1.0000

P =

11/12*x^3+17/4*x^2-25/6*x+1

 

例6.3.7  将区间 [0,π/2] 分成等份,用产生个节点,求二阶和三阶牛顿插值多项式.用它们分别计算sin (π/7) (取四位有效数字),并估计其误差.

解  首先将名为newdscg.m的程序保存为M文件,然后在MATLAB工作窗口输入程序

>> X1=0:pi/4:pi/2; Y1 =sin(X1); M=1; x=pi/7;

X2=0:pi/6:pi/2; Y2 =sin(X2);

        [y1,R1,A1,C1,P2]=newdscg(X1,Y1,x,M),

[y2,R2,A2,C2,P3]=newdscg(X2,Y2,x,M)

运行后输出插值y1=和y2=及其误差限R1和R2,二阶和三阶牛顿插值多项式P2和P3及其系数向量C1和C2,差商的矩阵A1和A2如下

y1 =

    0.4548

R1 =

    0.0282

A1 =

         0         0         0

    0.7071    0.9003         0

    1.0000    0.3729   -0.3357

C1 =

   -0.3357    1.1640         0

P2 =

-3024156947890437/9007199254740992*x^2+163820246322191/140737488355328*x

y2 =

    0.4345

R2 =

  9.3913e-004

A2 =

         0         0         0         0

    0.5000    0.9549         0         0

    0.8660    0.6991   -0.2443         0

    1.0000    0.2559   -0.4232   -0.1139

C2 =

   -0.1139   -0.0655    1.0204         0

P3 =

-1025666884451963/9007199254740992*x^3-4717668559161127/72057594037927936*x^2+4595602396951547/4503599627370496*x

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3060305.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1