lagrange插值作业分析和总结.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

给定函数f(x)?

1

1?x2

,现考察在区间【-5,5】上f(x)上的等距插值问题。

1

利用matlab可以得到f(x)? 的图形如下图所示:

1?x2

x=-5:0.1:5;

y=1./(1+x.^2);

plot(x,y)

作f(x)的20个节点的分段线性插值lin (x),其实现代码及图形如下:

20

x=-5:0.1:5;

y=1./(1+x.^2);

x1=linspace(-5,5,20);y1=interp1(x,y,x1,linear);plot(x,y,’r’,x1,y1,’b’)

所得图形如下:

其中兰线我分段线性插值函数lin20(x)的曲线

此处需说明由于此处利用的PLOT函数其绘制曲线的原理既是描点,连线,其所得图形是折线。所以通过plot函数绘制f(x)函数时,如果取点不够多,且恰好去20个等距节点时,

其所得的图形和通过分段线性插值所得的lin

面图形:

x=linspace(-5,5,20);y=1./(1+x.^2);plot(x,y)

(x)图形是一样,即若运行下列代码会得到下

20

即其和通过分段线性插值所得的函数lin

(x)的曲线是重合的。

20

作f(x)的21个等距节点的20次lagrange插值函数l

(x)。

20

此处由于matlab中没有固定的lagrange插值函数,所以定义lagrange函数如下,并将其放入matlab可搜索到的工作目录中:\\. \matlab7.0\work中。

所定义的lagrange函数如下:

(此处参考:NumericalComputingwithMATLAB【M】 CleveMoler, 并下载其附带的

lagrange函数)

%textbookpage35

functionyh=lagrange(x,y,xh)

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

x=reshape(x,n,1);%x=x(:);

y=reshape(y,n,1);%y=y(:);

xh=reshape(xh,m,1);%xh=xh(:);yh=zeros(m,1);

c1=ones(1,n-1);

c2=ones(m,1);fori=1:n,

xp=x([1:i-1,i+1:n]);

yh=yh+y(i)*prod((xh*c1-c2*xp)./(c2*(x(i)*c1-xp)),2);

end

然后运行下列代码:x=linspace(-5,5,21)y=1./(1+x.^2)x1=linspace(-5,5,23)y1=lagrange(x,y,x1)plot(x,y,r,x1,y1,b)

可得到如下图形;

这里需说明用plot函数所得的被插值函数f(x)与20次lagrange插值函数的曲线都不

是其精确值,由于在绘制f(x)曲线时,只取了【-5,5】上的21个点,而绘制l时只取了【-5,5】上的23个点。

(x)函数

20

以下分别做出10次lagrange插值函数l

10

(x)与16次lagrange插值函数l

16

(x)以作比较。

如:f(x)在【-5,5】上取11个点,再作10次lagrange插值函数l

10

(x),然后运行下列代

码:

x=linspace(-5,5,11)y=1./(1+x.^2)

x2=linspace(-5,5,23)y2=lagrange(x,y,x2)plot(x,y,r,x2,y2,b)

2即得如下图形

2

1,5

0.6

5432。。琴5 -4 -3 -2 -1

5

4

3

2

如:f(x)在【-5,5】上取17个点,再作16次lagrange插值函数l (x),然后运行下列代

16

码:

x=linspace(-5,5,17)y=1./(1+x.^2)x3=linspace(-5,5,23)y3=lagrange(x,y,x3)plot(x,y,r,x3,y3,b)

即得如下图形:

。-1

-2

-3

-4

5432。55--4 -3 -

5

4

3

2

5

5-

若将其绘制在一起则可得下面图形:

2rplot(x1,y1,r,x2,y2,b,x3,y3,g)

2

r

-1

-2

-3

5432。55-

5

4

3

2

5

5-

.,/

-4 -3 -2 -1

。2

2

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档