常州大学数值分析第三章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章作业

1.设节点x 0=0,x 1=π/8,x2=π/4,x3=3π/8,x4=π/2,试适当选取上述节点,用拉格朗日插值法分别构造cosx 在区间[0,π/2]上的一次、二次、四次差值多项式P 1(x ),P 2(x)和P 4(x),并分别计算P 1(π/3),P 2(π/3)和P 4(π/3). 解: x0 x1 x2 x3 x4 x

π/8 π/4 3π/8 π/2 y=cosx 1

0.923879

0.707106

0.382683

(1)选择x0=0,x4=π/2的节点

y0=cosx0=1,y4=cosx4=0,可得

)

()

()()()(0101

1010

1x x x x y x x x x y x P --+--=,即 333333

.0)3/(1636620.0)(11≈+-≈πP x x P

(2)选择x0=0,x2=π/4,x4=π/2的节点

y0=cosx0=1,y2=cosx2=0.707106,y4=cosx4=0,可得

)

)(())(())(()

)(())(())(()(1202102

2101201

2010210

1x x x x x x x x y x x x x x x x x y x x x x x x x x y x P ----+----+----=,即

145968

.1)3/(1511124.5482067.1)(222≈++-≈πP x x x P

(3)选择x0=0,,x1=π/8,x2=π/4,x3=3π/8,x4=π/2的节点y0=cosx0=1,y1=cosx1=0.923879,y2=cosx2

=0.707106,y3=cosx3=0.382683,y4=cosx4=0可得

)

(

)(4

,04

4∏

∑≠==--=i

j j j

i j i i x x x x y x P , 得

P3(x)=1+0.0031x-0.51542x +0.02423

x +0.02

844

x

4(3) 0.5001P π=/

7.解:

选取0123=0=1=2=3x x x x ,,,为节点 >> T0=[0.0 0.5];x=[1 2 3]';y=[1.25 2.75 3.5]';x0=2.8;T=aitken(x,y,x0,T0) T =

0.0000 0.5000 0.0000 0.0000 0.0000 1.0000 1.2500 2.6000 0.0000 0.0000 2.0000 2.7500 3.6500 4.4900 0.0000 3.0000 3.5000 3.3000 3.2300 3.4820 16

1)拉格朗日差值

.选取

函数

],[),sin()cos(ππ-∈+=x x x y

x0=-pi:0.5*pi:pi; y0=cos(x0);

x=-pi:0.05*pi:pi;

if length(x0)~=length(y0)

error('The length of x0 must be equal to it of y0'); end

w=length(x0); n=w-1;

L=zeros(w,w); for k=1:n+1 V=1;

for j=1:n+1 if k~=j if

abs(x0(k)-x0(j))

error('Divided by Zero,there are two nodes are the same'); end

V=conv(V,poly(x0(j)))/(x0(k)-x0(j));

end end L(k,:)=V;

end

C=y0*L;

Y=polyval(C,x); y=cos(x)+sin(x); r=y-Y;

plot(x,Y,'r--',x,y,'b-',x,r,'k-.','LineWidth',2);

legend('Lagrange polynomial','The

original f(x) ','Error',0)

2)牛顿差值

.选取函数]5,5[,11

2

-∈+=

x x y >> x0=-5:1:5;

>>y0=1./(1+x0.*x0); >>x=-5:0.1:5;

>>if length(x0)~=length(y0)

>>error('The length of x0 must be equal to it of y0'); end

>>n=length(x0); >>D=zeros(n,n); >>D(:,1)=y0'; >>for j=2:n for k=j:n

if abs(x0(k)-x0(k-j+1))

error('Divided by Zero,there are two nodes are the same'); end

>>D(k,j)=(D(k,j-1)-D(k-1,j-1))/(x0(k )-x0(k-j+1)); end end

C=D(n,n);

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

C=conv(C,poly(x0(k))); m=length(C);

C(m)=C(m)+D(k,k); end

Y=polyval(C,x); y=1./(1+x.*x+20*x); r=y-Y;

>plot(x,Y ,'r--',x,y,'b-',x,r,'k-.','LineWidth',2); >legend('Newton polynomial','The original f(x)

','Error',0)

相关文档
最新文档