数值分析课程设计_多项式插值的振荡现象matlab

时间:2026-01-19

数值分析 课程设计

多项式插值的振荡现象

(姓名) (学号)

指导教师

学院名称 专 业 名 称 提交日期

2012年6月

一、 问题的提出

考虑在一个固定区间上用插值逼近一个函数。显然,Lagrange插值中使用的节点越多,插值多项式的次数就越高。我们自然关心插值多项式增加时,Ln(x)是否也更加靠近被逼近的函数。龙格(Runge)给出的一个例子是极著名并富有启发性的。设区间[-1,1]上的函数

1

f(x)

1 25x2

考虑区间[-1,1]的一个等距划分,节点为

2i

xi 1 ,i 0,1,2, ,n

n

则拉格朗日插值多项式为

Ln(x)

1

(x) 2i

i 01 25xi

n

其中的ai(x),i=0,1,2,…,n是n次Lagrange插值基函数。

二、 实验内容

研究以下三个函数在各自区间上运用不同的划分

1

,x [ 1,1] 1、f(x)

1 25x2

x

,x [ 5,5] 2、h(x) 4

1 x

3、g(x) arctanx,x [ 5,5]

运用在区间[-p,p]上等距划分(p>0),节点为

2i

xi p ,i 0,1,2, ,n

n

以x0,x1,…,xn为插值节点构造上述各函数的Lagrange插值多项式。 运用区间[a,b]上切比雪夫(Chebychev)点的定义为

xk

(2k 1) b ab a

cos 22 2(n 1)

,k 1,2, ,n 1

以x1,x2,…,xn+1为插值节点构造上述各函数的Lagrange插值多项式,比较其结果。

并分别比较两种划分方法,增加节点数,最大误差的变化。

三、 实验结果及分析

(一) 等距划分

对于函数f(x)

1

,x [ 1,1]来说,使用等距划分

1 25x2

其中绿色点线代表误差,红色划线代表Lagrange插值多项式,蓝色实线代表原函数。

可见对于等距划分来说节点数越多,最大误差越大,可是越靠近中间的误差越少。越接近两个端点的误差越大。当节点数很大时,最大误差的来源只与靠近两个端点的误差有关。

例如:n=20时

对于h(x)

x

,x [ 5,5],使用等距划分

1 x4

当n=25时

对于g(x) arctanx,x [ 5,5],使用等距划分

当n=30时,

从以上三个函数图像来看,可见节点越多,靠近端点处取得最大误差,并且最大误差越大。这就是龙格现象。

(二) 切比雪夫(Chebychev)点

1

,x [ 1,1]

首先研究f(x) 2

1

25x

当n=20时

可是当

n=30

同样的n=40,50也出现了两端误差增大现象。

然后研究h(x)

x

,x [ 5,5]

1

x4

当n=25时

同样的n=30,50也会出现龙格现象。

最后研究g(x) arctanx,x [

5,5]

当n=25时

此函数也不例外。

由以上三个函数,通过不断改变n的值,可得运用切比雪夫点来划分,要使最大误差小于0.1,n一般取12到20间的数。

(三) 综述

对于Lagrange插值多项式,运用等距划分取节点时,n要不能取得太大,一般n=8或8左右。若要使n取得更大,那么需要使代入到函数的点尽量在区间的中间,这样才能使真值与计算出来的值的误差尽可能的小。

运用切比雪夫点来划分取节点时,n一般取12到20间的数。无论要代入到函数的点在区间的那个位置,都能使误差尽可能的小。若要使n取得更大,那么需要使代入到函数的点尽量在区间的中间,这样才能使真值与计算出来的值的误差尽可能的小。若n取的较小,同样误差也是很大的。

对于以上两种取节点的方法,都不能避免龙格现象的出现。对于不同的选取节点的方法,只要n取得合适,同时代人函数的点适合,那么就可以使误差尽可能的减少。

四、 关于本设计的体会

为了完成本设计,接触了一个数学软件matlab,并能初步运用本软件,编写程序,方便了以后对数学的研究。

并且对于编写过程中遇到的错误,显示不正确等,通过网络搜索查询,能解决这些问题。例如运用fminbnd函数时,显示的并不是正确的答案,后来百度了一下,明白了此函数的运作原理,并最终能显示我想得到的结果。

当然对于我所编写的程序,我也就只能做到这一步,也是碍于时间关系,和对matlab不熟悉,并不能更好的完善下去。有时取值很大时,运行起来,运行得很慢,这是一大缺陷。主要是循环次数太多,和找不到更好的函数代替所造成的。其他的缺点也就不一一的列举了。

学习一个软件需要耐心,细心。多寻找,多发现,多创作才能深入了解一个软件。同样的道理,这也是做任何事所需要的素质。

五、 参考文献

数值分析(第三版)——北京理工大学出版社 六、 附录

所的运用软件及编号MATLAB 7.0

(图略)

所用电脑的版本、型号与系统

(图略)

用户界面设计 文件名:kcsjx.fig

用户界面程序,运行kcsjx.m来调用主要程序 文件名:kcsjx.m

function varargout = kcsjx(varargin) % KCSJX M-file for kcsjx.fig

% KCSJX, by itself, creates a new KCSJX or raises the existing % singleton*. %

% H = KCSJX returns the handle to a new KCSJX or the handle to % the existing singleton*. %

% KCSJX('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in KCSJX.M with the given input arguments. %

% KCSJX('Property','Va …… 此处隐藏:3664字,全部文档内容请下载后查看。喜欢就下载吧 ……

数值分析课程设计_多项式插值的振荡现象matlab.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

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

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