- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Exp1 Lagrange插值和Newton插值
数值计算实验1
Lagrange插值和Newton插值
实验题:用Lagrange插值和Newton插值拟合[0, 2*pi]上的sin函数。
提示:(1)分别编写通用的Lagrange插值和Newton插值的程序;
(2)在插值区间上采点;
(3)调用程序进行插值计算;
(4)必要时请画图。
解:1. Lagrange插值拟合:
用MATLAB实现Lagrang1编程:
function [yt,L] = LagInterp1(x,y,xt)
% 拉格朗日插值
% x,y:插值条件
% xt:用拉格朗日插值函数要计算的自变量,可以是多个
% yt:用拉格朗日插值函数计算出xt对应的函数值数组
% L: 拉格朗日插值多项式表达式
syms t;
n=length(x);
ny=length(y);
if n~=ny
error(插值节点x与函数值y不一致);
end
L = 0.0;
for k = 1:n
lk =1;
for j = 1:n
if j~=k
lk = lk*(t-x(j))/(x(k)-x(j));
end
end;
L = L + y(k)*lk;
end
simplify(L); % 简化拉格朗日插值多项式表达式
L=collect(L); % 将拉格朗日插值多项式展开
yt = subs(L,t,xt); %计算插值点处的函数值
输入:x=[0:pi/10:2*pi];
y=sin(x);
xt=pi;
[yt,L] = LagInterp1(x,y,xt);
% 画图
z=0:pi/20:2*pi;
yz= subs(L,t,z); %计算插值点处的函数值
figure;
plot(z,sin(z),--r,z,yz,-b)
hold on
plot(x,y,marker,+)
hold on
plot(xt,yt,marker,o)
legend(sin(x),Lagrange插值多项式,(x_k,y_k),x=pi)
xlabel(x)
ylabel(y)
运行结果为:
1. NewtInterp插值拟合:
用MATLAB实现NewtInterp编程:
function [yt,N] = NewtInterp(x,y,xt)
% 已知数据点的牛顿插值
% x,y:插值条件
% xt:要计算的插值点,可以是多个
% yt:用牛顿插值函数出xt对应的函数值数组
% N: 牛顿插值多项式表达式
syms t;
n=length(x);
ny=length(y);
if n~=ny
error(插值节点x与函数值y维数不一致);
end
a=zeros(1,n);
N = y(1);
w = 1;
for k=1:n-1
yy=zeros(1,n); % 记录差商
for j=k+1:n
yy(j) = (y(j)-y(k))/(x(j)-x(k));
end
a(k) = yy(k+1);
w = w*(t-x(k));
N = N + a(k)*w;
y = yy;
end
yt = subs(N,t,xt);
simplify(N);
N = collect(N); % 将插值多项式展开
N = vpa(N, 6); % 系数转化为6位精度
输入:x=[0:pi/10:2*pi];
y=sin(x);
xt=pi;
[yt,N] = NewtInterp(x,y,xt)
% 画图
z=0:pi/20:2*pi;
yz= subs(N,t,z); %计算插值点处的函数值
figure;
plot(z,sin(z),--r,z,yz,-b)
hold on
plot(x,y,marker,+)
hold on
plot(xt,yt,marker,o)
h=legend($\sin{x}$,Newton,$(x_k,y_k)$,$x=pi$);
set(h,Interpreter,latex)
xlabel(x)
ylabel(y)
运行结果为:yt = -2.0661e-016
N =.670918e-19*t^20+.341935e-17*t^19-.332412e-15*t^18+.785002e-14*t^17-.51643e-13*t^16-.375057e-12*t^15-.22573e-11*t^14+.170875e-9*t^13-.3735e-10*t^12-.249431e-7*t^11-.257e-9*t^10+.275622e-5*t^9-.9806e-9*t
您可能关注的文档
- 沉淀的溶解平衡--hyf.ppt
- 高三沉淀的溶解平衡复习.ppt
- wxm第5章 选择结构.ppt
- TCP与UDP客户服务端实现大小写及SOCKET编程实现聊天程序.doc
- 2008高考备考高中化学必背知识点归纳与总结(全套).doc
- PROGRAMMING IN C++》试卷(A2008).doc
- 2013年(春二模)高三化学分析201058.doc
- 无机推断训练及作业.doc
- NSMutableCopyin angularjs 分页封装.doc
- 宜昌市2013届高三年级第二次调研考试.doc
- 2025年成都市玩偶生产荧光涂鸦互动玩偶开发可行性研究报告.docx
- 2025年成都市海绵生产用于体育馆室外运动场地透水改造可行性研究报告.docx
- 2025年天津市体操鞋企业团建运动应用报告.docx
- 2025年上海市溶洞极限运动(速降)场地开发可行性研究报告.docx
- 2025年上海市涵洞工程施工技术应用可行性研究报告.docx
- 2025年上海市体育场馆设施扎带安全防护可行性研究报告.docx
- 2025年上海市牦牛育肥产业园区建设可行性研究报告.docx
- 2025年旅拍宠物陪伴拍摄项目可行性研究报告.docx
- 2025年上海市进口食品节庆主题快闪店可行性研究报告.docx
- 2025年上海市洗选厂尾矿综合利用产业化可行性研究报告.docx
文档评论(0)