上海交通大学计算方法作业答案.docx

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

P50-1

%%牛顿插值多项式

function [ c, d] = newpoly ( x,y )

%这里X为n个节点的横坐标所组成的向量,y为纵坐标所组成的向量。%c为所求的牛顿插值多项式的系数构成的向量。

n=length(x);

d=zeros (n, n);

d(: , l)=y*;

for j=2 : n

for k= j : n

d(k, j) = (d(k, j-1) - d (k-l z j-1)) / (x(k)-x(k-j + l));

end

end

c =

d (n, n);

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

c =conv (c z poly (x (k)));

m=length (c);

c (m) =c (m) +

d (k, k);

end

>> X ==0.2 : 0.2 :1 ;

>> y =[ 0.98,0.92,0.81,0.64,0.38];

>> c= newpoly(x, y )

c =-0.5208 0.8333 -1-1042 0.1917 0.9800

% %三次样条插值

x=[0.2,0.4,0.6,0.8,1.0];

y=[0.98, 0.92z 0.81,0.64,0.38];

x0 = [0.2,0.28,1.0,1.08];

pp=csape(x A y, 1 variational1);

%%三次样条函数表达式

disp(pp•coefs);

-1-3393-0.0000-0.24640.9800

0 ・4464-0.8036-0.40710.9200

-1.6964-0.5357-0.67500.8100 2.5893-1.5536-1.09290.6400

绘制曲线图

x2 = 0:0.01:1.2;

yll = polyval(c,x2);

y22 = ppval(pp,x2);

xO = [0.2,0.28,1.0,1.08];

yllO = polyval(c z xO);

y220 = ppval(pp,xO);

plot(x 2/yll;r,/x0/yll0/,A'/x2/y22;g,/x0/y220;h,)

legendC4-顿插值T牛顿插值样点T三次样条插值T三次样条插值样点')

P50 -3

(1) x = [0,1,4,9,16,25,36,49,64];

y = 0:8;

xl = 0:0.1:64;

x2 = 0:0.01:1;

f = lagra nge(x z y)

%%得到多项式函数表达式

L(x)=- 3.28063e-10*x A8 + 6.71268e-8*x A7 ・ 0.00000542921*x A6 + 0.000222972*x A5 ・0.00498071*x A4 + 0.0604294*x A3 -0.38141*x A2 + 1.32574*x yl = lagran ge(x/y/xl); y2 = lagrange(x“x2);

(2) (2) x=[0,44,916,25,36,49,64]; y = 0:8;

xl = 0:0.1:64;

x2 = 0:0.01:1;

%%得到三次样条差值函数表达式pp=csape(x,y/ no t-a-k no t'); disp(pp.coefs);

0.0266 -0.2998 1.2732 0

0.0266 -0.2199 0.7534 1.0000

-0.0021 0.0197 0.1529 2.0000

0.0005 -0.0112 0.1955 3.0000

-0.0000 -0.0001 0.1160 4.0000

0.0000 -0.0014 0.1026 5.0000

0.0000 -0.0005 0.0825 6.0000

0.0000 -0.0004 0.0717 7.0000

yll = ppval(pp,xl);

y22 = ppval(pp,x2);

绘制图形

(1)在[0,64]

[0,64]区间上的函数

显然随着次数越高,多项式插值出现误差很大

⑵[0,1]

区间上的函数

在[0,1]区间上三次样条插值和多项式插值基本一致

P137-1 insucomplex_4_lm文件

clear;

clc;

%h为步长,可分别令0.1,0.01,0.001 h = [1,0.1,0.01,0.001]

for i = 1:4

h(i),

x=0:h(i):l; y=sqrt(x).*log(x+eps);

%复化梯形公式

T=trapz(x,y);

T=vpa(T,7), f=inline('sqrt(x).*log(x)',x);

%复化辛普生公式

S=quadl(f,0,l);

S=vpa(S,7),

end

»t = -log(h);

» plotftX'rs'XS/r*')

» lengendC复合梯形公式T复合梯形公式1

-0.4444

-0.4444 •

[] □

-0.4444 -

步长h I0. 10.010. 001

梯形求积

T=

[1. 110223*107-16)]-0.4170628-0.4431179-0.4443875

辛普森求积S二-0.3267527-0.4386308-0.4441945-0.4444345

-0.4444 -------------- L

0 1 2 3 4 5

-ln(h) 6 7

-0.4444 -0.4444 -0.4444 -0.4444 □复合梯形公式□

*复合辛普森公式*

*

*

-0.4444 -

*

相关文档
最新文档