- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析报告六
实验报告
课程名称: 数值分析
姓 名:
学 号:
任课老师:
实验一:插值法的应用
实验名称:牛顿插值法和样条差值
实验目的与要求:
学会使用牛顿插值法和样条差值法
实验内容:
1.已知函数在下列各点的值为
0.2 0.4 0.6 0.8 1.0 f() 0.98 0.92 0.81 0.64 0.38 试用4次牛顿插值多项式及三次样条函数S(x)对数据进行插值。用图给出{(),==0.2+0.08i,i=0,1,11,10},及S(x)。
2.在区间[-1,1]上分别取用两组等距节点对龙格函数f(x)=)做多项式及三次样条差值,对每个n值,分别画出差值函数及f(x)的函数.
实验环境与器材:
9#505 一人一机
实验过程(步骤)或程序代码:
第一题:
程序:
牛顿插值程序:
function L=Newton(a,b,a0)
syms x
n=length(a);
L=b(1);
b1=0;
l=1;
for i=1:n-1
for j=i+1:n
b1(j)=(b(j)-b(i))/(a(j)-a(i))
end
c(i)=b1(i+1);
l=l*(x-a(i));
L=L+c(i)*l;
simplify(L);
b=b1;
end
if(i==n-1)
if(nargin==3)
L=subs(L,x,a0);
else
L=collect(L);
L=vpa(L,6);
end
end
a=[0.2 0.4 0.6 0.8 1.0];
b=[0.98 0.92 0.81 0.64 0.38];
a0=[0.2 0.28 1.08 1.0]
L=Newton(a,b,a0)
L=Newton(a,b)
b0=interp1(a,b,a0,spline)
plot(a0,b0,-ro)
图像:
三次样条函数S(x)插值程序为:
a=[0.2 0.4 0.6 0.8 1.0];
b=[0.98 0.92 0.81 0.64 0.38];
a0=[0.2 0.28 1.08 1.0]
b0=interp1(a,b,a0,spline)
plot(a,b,rs,a0,b0)
图像:
y x
第二题程序:
Lagrange多项式插值程序为:
function L=lagrange(a,b,a0)
syms x
n=length(a)
L=0.0
for i=1:n
l=b(i);
for j=1:i-1
l=l.*(x-a(j))/(a(i)-a(j));
end
for j=i+1:n
l=l.*(x-a(j))/(a(i)-a(j));
end
L=L+l;
simplify(L);
end
L=collect(L)
L=vpa(L,6)
L=subs(L,x,a0);
end
clear all
subplot(1,2,1);
a=linspace(-1,1,10);
b=1./(1+25.*a.^2);
L=Lagrange(a,b)
b0=subs(L,x,a);
plot(a,b0,rs)
hold on
plot(a,b)
title(n=10时的插值函数);
subplot(1,2,2);
a=linspace(-1,1,20);
b=1./(1+25.*a.^2);
L=Lagrange(a,b)
b0=subs(L,x,a);
plot(a,b0,rs);
hold on;
plot(a,b)
title(n=20时的插值函数);
图像:
y
x
三次样条插值函数插值程序:
subplot(1,2,1);
a=linspace(-1,1,5);
b=1./(1+25.*a.^2);
a0=linspace(-1,1,10);
b0=spline(a,b,a0);
plot(a,b,rs,a0,b0)
hold on
plot(a,b,G)
title(n=10时的插值函数);
subplot(1,2,2);
a=linspace(-1,1,5);
b=1./(1+25.*a.^2);
a0=linspace(-1,1,20);
b0=spline(a,b
文档评论(0)