- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数学实验--多项式插值计算及其收敛性实验
Lab02.【实验目的和要求】
1.使学生深入理解Langrage插值法和Newton插值法以两者之间的异同,能用Matlab语言编写按Langrage插值法和Newton插值法计算插值的程序;
2.用所编写的程序进行插值计算、验证Runge现象、分析插值多项式的收敛性;
3.使学生深入理解教材介绍的两种分段低次插值法,熟悉掌握函数interp1的使用;
4.使用函数interp1用不同方法进行插值计算,对教材介绍的几种分段低次插值法进行分析比较。
【实验内容】
1.根据Matlab语言特点,描述Langrage插值法和Newton插值法。
2.用Matlab语言编写按Langrage插值法和Newton插值法计算插值的程序。
3.对,分别取3个,5个、9个、11个等距节点,用所编写的程序进行插值计算并画图,以验证Runge现象、分析插值多项式的收敛性。
4.用函数interp1,对,用n=11个节点(等分)作分段线性插值、分段Hermit插值和三次样条插值,用m=101个插值点(等分)作图,比较结果。
【实验仪器与软件】
1.CPU主频在1GHz以上,内存在128Mb以上的PC;
2.Matlab 6.0及以上版本。
实验讲评:
实验成绩:
评阅教师:
2012 年5 月 1 日
Lab02.次多项式在个节点上满足条件
(1)
就称这个次多项式为节点上的差值基函数。
差值基函数为
显然它满足条件(1)。于是,满足条件(1)的差值多项式可表示为
就称为拉格朗日Lagrange差值多项式。
Newton插值多项式算法描述:
Newton插值多项式的表达式如下:
其中每一项的系数ci的表达式如下:
根据以上公式,计算的步骤如下:
计算
计算
……
计算
计算
二、算法程序
编写lagrange函数如下
function y=lagrange(x0,y0,x)
n=length(x0);
m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
编写Newton插值法如下
function f = Newton(x,y,x0)
syms t;
if(length(x) == length(y))
n = length(x);
c(1:n) = 0;
else
display(你所输入的x与y的维数不相等!);
return
end
f = y(1);
y1 = 0;
l = 1;
for(i=1:n-1)
for(j=i+1:n)
y1(j) = (y(j)-y(i))/(x(j)-x(i));
end
c(i) = y1(i+1);
l = l*(t-x(i));
f = f + c(i)*l;
simplify(f);
y = y1;
if(i==n-1)
if(nargin == 3)
f = subs(f,t,x0);
else
f = collect(f);
f = vpa(f, 6);
end
end
end
三、插值计算
对,分别取3个,5个、9个、11个等距节点,用所编写的程序进行插值计算并画图,以验证Runge现象、分析插值多项式的收敛性。
Langrange算法:
取3个等距节点进行差值计算:
编写m函数如下:
x0=linspace(-5,5,3);
y0=1./(1+x0.^2);
x=-5:0.1:5;
y=1./(1+x.^2);
y1=lagrange(x0,y0,x);
plot(x,y,r,x,y1,b)
取5个等距节点进行差值计算
x0=linspace(-5,5,5);
y0=1./(1+x0.^2);
x=-5:0.1:5;
y=1./(1+x.^2);
y1=lagrange(x0,y0,x);
plot(x,y,r,x,y1,b);
取9个等距节点进行插值计算
x0=linspace(-5,5,9);
您可能关注的文档
最近下载
- 2024年英语专四真题及答案.pdf VIP
- 供应链数字化转型对企业成本管理的影响研究——以美的集团为例.pdf VIP
- 运动康复专业创业计划书.docx VIP
- TTS克令吊维修调整手册(中文版) - 精译版.pdf
- 2025贵州贵安城市投资集团有限公司第一批社会招聘19人笔试参考题库附答案解析.docx VIP
- 北师大版(2024版)一年级数学上册课件 第四单元 第3课时 课间(8的加减法).pptx VIP
- 农业节水灌溉知识课件.pptx VIP
- 对标CSSD技术指南,提升器械清洗消毒质量课件.pptx VIP
- 六年级上册道德与法治课件 公民意味着什么.pptx VIP
- 肠镜检查前肠道准备.pptx
文档评论(0)