上机作业1(5)

2025-11-24

上机作业5

7-2 实验目的 观察Lagrange插值的Runge现象, 了解若能采用合适的节点分布,则可以避免Runge现象,熟悉三次样条插值。 实验内容:对于函数f(X)=

1(-1≦x≦1)进行Lagrange插值。

1?25x^2k?,n取不同的等分数n=5,10,将区间[-1,1]等分,取等距节点。把f(x)和5,10次插值多项式的曲线画在同一张图上进行比较。再取Chebyshev节点xk=-cos

k=0,1,...,10进行Lagerange,把f(x)和Chebyshev节点的10次插值多项式的曲线画在同一张图上。 (1)原理

5.1 Lagrange插值多项式 Lagrange插值多项式的表达式:

L(x)??yili(x),i?1n?1li(x)??j?1j?in?1(x?xj)(xi?xj),i?1,2,?,n?1。

其中li(x)被称为插值基函数

(2)程序代码:

function f =Language(x,y,x0) syms t;

if(length(x) == length(y)) n = length(x); else

disp('x和y的维数不相等'); return; end

f = 0.0; for(i = 1:n) l = y(i); for(j = 1:i-1)

l = l*(t-x(j))/(x(i)-x(j));

end;

for(j = i+1:n)

l = l*(t-x(j))/(x(i)-x(j)); end;

f = f + l; simplify(f); if(i==n)

if(nargin == 3)

f = subs(f,'t',x0); else

f = collect(f);

f = vpa(f,6); end end End

(3)运行结果

(1)五等分区间

>> x=[-1 -0.6 -0.2 0.2 0.6 1];

>> y=[0.0384 0.1 0.5 0.5 0.1 0.0384]; >> f=Language(x,y)

f =1.20182*t^4 - 1.73073*t^2 + 0.567306

(2)十等分区间

>> x=[-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1];

>> y=[0.0384 0.05882 0.1 0.2 0.5 1 0.5 0.2 0.1 0.05882 0.0384]; >> f=language(x,y)

f =- 220.942*t^10 + 494.91*t^8 - 381.434*t^6 + 123.36*t^4 - 16.8552*t^2 + 1.0

(3)Chebyshev结点

>> x=[-1.0000 -0.9511 -0.8090 -0.5878 -0.3090 0 0.3090 0.5878 0.8090 0.9511 1.0000];

>> y=[0.0385 0.0424 0.0576 0.1038 0.2952 1.0000 0.2952 0.1038 0.0576 0.0424 0.0385 ];

>> f=Language(x,y)

f =- 28.076*t^10 + 85.3475*t^8 - 96.4067*t^6 + 49.4719*t^4 - 11.2983*t^2 + 1.0

函数图像:

(1)f(x)和5,10次插值多项式曲线图像

>> t=-1:0.01:1;

>> z1=1.20182*t.^4 - 1.73073*t.^2 + 0.567306;

>> z2=- 220.942*t.^10 + 494.91*t.^8 - 381.434*t.^6 + 123.36*t.^4 - 16.8552*t.^2 + 1.0;

>> z3=(1+25*t.^2).^(-1); >> plot(t,z1,t,z2,t,z3);grid

(1) 并不是插值节点越多,插值多项式逼近函数效果就越好。 (2) 误差较大地方,是在插值区间两端点附近出现。

(2)F(x)和Chebyshev结点十次插值

>> t=-1:0.01:1;

>> z1=(1+25*t.^2).^(-1);

>> z2=- 28.076*t.^10 + 85.3475*t.^8 - 96.4067*t.^6 + 49.4719*t.^4 - 11.2983*t.^2 + 1.0; >> plot(t,z1,t,z2)

结论

利用插值多项式逼近函数,随着插值点个数的增加,其次数不断增加,由于高次多项式具有震荡特性,盲目增加节点效果反而不好。高次插值收敛没有保证,当插值区间较长时,我们宜采用分段低次插值。

上机作业6

9-1 实验目的 熟悉数值积分公式,掌握数值计算定积分的方法 实验内容:采用不同方法数值计算积分

?ln(1?x)/xdx

01(1)编写复化梯形公式和复化Simpson公式通用子程序,分别采用4,8.16,32,64等分区间计算。 (2)使用Romberg求积公式。

(3)使用高斯-勒让德求积公式(n=2,4,8)

1、试验原理:

把积分区间[a,b]分成n个子区间[xi,xi+1],i=0,1,2,…,n,其中x0=a,xn+1=b。这样求定积分问题就分解为求和问题:

S??f(x)dx???ai?1bnxixi?1f(x)dx

当这n+1个结点为等距结点时,即xi?a?ih,其中h?(b?a)/n,i=0,1,2,…,n,复化梯形公式的形式是

hnSn??[f(xi?1)?f(xi)]

2i?1如果n还是一个偶数,则复合Simpson积分的形式是

hn/2Sn??[f(x2i?2)?4f(x2i?1)?f(x2i)]

3i?1

在区间[-1,1]上取权函数 ρ(x)=1,那么相应的正交多项式为Legendre多项式。以Legendre多项式的零点为Gauss点的求积公式为


上机作业1(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:学习力研究选题指南

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219