- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
插值法-第二次程序题
插值法
题目1:对Runge函数在区间[-1,1]作下列插值逼近,并和R(x)的图像进行比较,并对结果进行分析。
(1)用等距节点绘出它的20次Newton插值多项式的图像。
(2)用节点,绘出它的20次Lagrange插值多项式的图像。
(3)用等距节点绘出它的分段线性插值函数的图像。
(4)用等距节点绘出它的三次自然样条插值函数的图像。
程序及分析:
用等距节点绘出它的20次Newton插值多项式的图像。
Matlab程序如下:
%计算均差
x=[-1:0.1:1];
n=length(x);
syms z
for i=1:n
y(i)=1/(1+25*x(i)*x(i));
end
N=zeros(n,n);
N(:,1)=y;
for j=2:n
for k=j:n
N(k,j)=(N(k,j-1)-N(k-1,j-1))/(x(k)-x(k-j+1));
end
end
for t=1:n
c(t)=N(t,t)
end
%构造插值多项式
f=N(1,1);
for k=2:n
a=1;
for r=1:(k-1)
a=a*(z-x(r));
end
f=f+N(k,k)*a;
end
%作图
a=[-1:0.001:1];
n=length(a);
for i=1:n
b(i)=1/(1+25*a(i)*a(i));
end
fx=subs(f,z,a);
subplot(2,1,1);
plot(a,b,k,a,fx,r);
c=[-0.6:0.001:0.6];
n=length(c);
for i=1:n
d(i)=1/(1+25*c(i)*c(i));
end
fx=subs(f,z,c);
subplot(2,1,2);
plot(c,d,k,c,fx,r);
结果与分析:
由下图可以看出,在区间[-0.6,0.6]上,插值多项式可以很好的逼近被插值函数。而在边界附近,插值多项式与被插值函数的差别很大。即出现了Runge现象。
主要原因是被插值函数的任意阶导数不能达到一致有界。其插值余项不趋近零。插值多项式不能收敛到被插值函数。
用节点,绘出它的20次Lagrange插值多项式的图像。
Matlab程序如下:
clear;
%插值点
for i=1:21
x(i)=cos((2*(i-1)+1)*pi/42);
end
n=length(x);
for i=1:n
y(i)=1/(1+25*x(i)*x(i));
end%构造插值基函数
syms z;
temp=1;
for i=1:n
lx=1;
for j=1:n
if i~=j
temp=(z-x(j))/(x(i)-x(j));
lx=lx*temp;
end
end
l(i)=lx;
end
%插值多项式
l=l;
L=y*l;
%作图
a=[-1:0.01:1];
n=length(a);
for i=1:n
b(i)=1/(1+25*a(i)*a(i));
end
fx=subs(L,z,a);
subplot(2,1,1);
plot(a,b,k,a,fx,x r);
结果与分析:
如下图所示,使用Chebyshev多项式零点构造的Lagrange插值多项式比较接近原函数,没有出现Runge现象。
主要原因是其多项式误差为。
(3)用等距节点绘出它的分段线性插值函数的图像。
Matlab程序如下:
clc;clear;
x=[-1:0.1:1];
n=length(x);
syms z
for i=1:n
y(i)=1/(1+25*x(i)*x(i));
end
%构造分段线性插值多项式
for i=1:n-1
l(i)=(z-x(i+1))/(x(i)-x(i+1))*y(i)+(z-x(i))/(x(i+1)-x(i))*y(i+1)
% l(i)=y(i)+(y(i+1)-y(i))/(x(i+1)-x(i))*(z-x(i))
end
%作图
for i=1:n-1
a=[x(i):0.01:x(i+1)];
f=subs(l(i),z,a)
plot(a,f,k)
hold on
end
结果与分析:
如下图所示,分段线性插值多项式比较接近原函数,没有出现Runge现象。
利用线性插值多项式的误差估计:
(4)用等距节点绘出它的三次自然
您可能关注的文档
- 提高班级管理水平.doc
- 提高班级凝聚力主题班会.doc
- 提高班级管理经验提升班级管理水平.doc
- 提高球磨单机效率.doc
- Design, Analysis, Fabrication, and Testing of a Nanosatellite Structure.ppt
- 提高瓦斯抽放率几种措施.doc
- 提高电脑运行速度和带宽详解.doc
- 提高石油采收率技术作业模版.doc
- 提高空气质量熊津豪威净化器强过滤.doc
- Determination of Death Powerpoint.ppt
- Development of Diagnostic Variables.ppt
- Development of Capitalism during the Industrial Revolution.ppt
- 插值法与MATLAB应用.doc
- Development of Ethical Decision.ppt
- 插值算法系列的优缺点.docx
- Development of extensive drug resistance in Multi.ppt
- Development of Competence.ppt
- 插入式智能涡街流量计技术参数.doc
- 插入复选标记符号.docx
- 插入USB上网卡设备到电脑上.doc
原创力文档


文档评论(0)