- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、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
您可能关注的文档
最近下载
- 职业技术学校电子商务专业人才培养调研报告.docx VIP
- 材料力学课堂教学(中文版)-范钦珊-材料力学-第2章.ppt VIP
- 售后服务承诺书范文(精选7篇).docx VIP
- 《AIGC应用实战:写作、绘图、视频制作、直播》课件 第六章 AI视频制作.pptx VIP
- 南充市阆中市小学数学二年级下学期数学期末试卷.doc VIP
- 中国国家标准 GB 16796-2022安全防范报警设备 安全要求和试验方法.pdf
- 《AIGC应用实战:写作、绘图、视频制作、直播》课件 第五章 Stable Diffusion的使用方法.pptx VIP
- 工程造价结算审计的方法和技巧.docx VIP
- 材料力学课堂教学(中文版)-范钦珊-第1章 基本概念.ppt VIP
- 学生奶采购配送服务方案(技术标).pdf
文档评论(0)