实验报告-插值法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机上机实验报告

专业和班级姓名

成绩学号

课程名称数值计算方法实验名称插值法

实验目的和要求实验目的

1、掌握用MATLAB计算拉格朗日、分段线性、三次样条三种插值

的方法,改变节点的数目,对三种插值结果进行初步分析。

2、掌握用MAT L AB作线性最小二乘的方法。

3、通过实例学习如何用插值方法与拟合方法解决实际问题,注意

二者的联系和区别。

实验内容和步骤实验的主要内容

1、编制拉格朗日、牛顿插值程序,并运行一个简单的实例。

(1)拉格朗日插值程序:

function v=polyinterp(x,y,u)

n=length(x);

v=zeros(size(u));

for k=1:n

w=ones(size(u));

for j=[1:k-1 k+1:n]

w=(u-x(j))./(x(k)-x(j)).*w;

end

v=v+w*y(k);

end

实例:当x=144,169,225时,y=12,13,15,用拉格朗日差值法求根号175。如下:

(2)牛顿插值程序:

function y=newinterp(X,Y,x)% 牛顿插值函数

m=length(X);

for k=2:m

for j=1:k-1

Y(k)= (Y(k)- Y(j))/(X(k)-X(j));

end

end

y=Y(m);

for j=m-1:-1:1

y=y.*(x-X(j))+Y(j);

end

实例:当x=144,169,225时,y=12,13,15,用牛顿差值法求根号175。如下:

2、给定函数x

x

f=

)

(,已知:

414214

.1.

)0.2(=

f449138

.1.

)1.2(=

f

483240

.1.

)2.2(=

f516575

.1.

)3.2(=

f549193

.1.

)4.2(=

f

用牛顿插值法求4次Newton插值多项式在2.15处的值,以此作为函

3.选择函数y=exp(-x2) (-2≤x≤2),在n个节点上(n不要太大,如5~11)用拉格朗日、分段线性、三次样条三种插值方法,计算m 个插值点的函数值(m要适中,如50~100)。通过数值和图形输出,将三种插值结果与精确值进行比较。适当增加n,在作比较,由此作初步分析。

程序:

%不同插值方法是否会出现震荡runge现象

%M文件

function runge10

[X,Y]=fenduan(10,1);%将[-1,]区间分成10等份,返回对应的(x,y)五组数据

x=linspace(-2,2,100);%将[-1,1]划分成100等份,以便作出样条插值多项式的图形。

for i=1:length(x)%绘制原函数曲线图

y(i)=exp(-x(i)^2);

end

hold on

plot(x,y);

text(0,1,'\leftarrow原函数')%对曲线添加标注

y=newinterp(X,Y,x);%多项式插值中的牛顿插值法

hold on

结果的研究与探讨

将三种插值结果相比较,显然分段线性插值法在节点处不光滑,拉格朗日值出现较大的振荡,样条差值的结果是最好的,改变n 的值,运行程序,得到的图形如右图所示,比较这两个图可发现,节点增加后,三种插值方法结果的准确度均有所提高,因此可近似地认为:增加节点的个数可以提高插值结果的准确程度。

(注:可编辑下载,若有不当之处,请指正,谢谢!)

相关文档
最新文档