数值分析实验报告176453

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

实验报告

实验项目名称插值法______________

实验室数学实验室

所属课程名称数值逼近____________

实验类型算法设计____________

实验日期____________________________

级_________________________

号_________________________

名__________________________

实验概述:

【实验目的及要求】

本次实验的目的是熟练《数值分析》第二章“插值法”的相关内容,掌握三种插值方法:牛顿多项式插值,三次样条插值,拉格朗日插值,并比较三种插值方法的优劣。

本次试验要求编写牛顿多项式插值,三次样条插值,拉格朗日插值的程序编码,并在MATLAB^件中去实现。

【实验原理】

《数值分析》第二章“插值法”的相关内容,包括:牛顿多项式插值,三次样条插值,拉格朗日插值的相应算法和相关性质。

【实验环境】(使用的软硬件)软件:

MATLAB 2012a

硬件:电脑型号:联想Lenovo昭阳E46A笔记本电脑

操作系统:Win dows 8专业版

处理器:In tel (R)Core(TM i3 CPU M 350 @2.27GHz 2.27GHz

实验内容:

【实验方案设计】

第一步,将书上关于三种插值方法的内容转化成程序语言,用MATLAB实现;

第二步,分别用牛顿多项式插值,三次样条插值,拉格朗日插值求解不同的问题。

【实验过程】(实验步骤、记录、数据、分析)

实验的主要步骤是:首先分析问题,根据分析设计MATLAB程序,利用程序算出

问题答案,分析所得答案结果,再得出最后结论。

实验一:

已知函数在下列各点的值为

试用4次牛顿插值多项式P4(x)及三次样条函数S(x)(自然边界条件)对数据进行插值。

用图给出{(X i,y i),x i=0.2+0.08i,i=0,1, 11, 10},P4(x)及S(x)。

(1)首先我们先求牛顿插值多项式,此处要用4次牛顿插值多项式处理数据。

已知n次牛顿插值多项式如下:

P n =f (X 0)+f[X 0,X 1](X-X 0)+ f[X 0,X 1,X 2](X-X 0)(X-X 1)+ ••• + f[x 0,X 1 ,••• X n ](X-X

)我们要知道牛顿插值多项式的系数,即均差表中得部分均差。

在MATLAB 的Editor 中输入程序代码,计算牛顿插值中多项式系数的程序如下:

function varargout=n ewt on liu(vararg in) clear,clc

x=[0.2 0.4 0.6 0.8 1.0]; fx=[0.98 0.92 0.81 0.64 0.38]; n ewt on chzh(x,fx);

function n ewt on chzh(x,fx) %由此函数可得差分表

n=len gth(x);

FF=ones(n,n); FF(:,1)=fx : for i=2: n

for j=i:n

FF(j,i)=(FF(j,i-1)-FF(j-1,i-1))/(x(j)-x(j-i+1)); end end for i=1: n

fprin tf('%4.2f,x(i)); for j=1:i

fprin tf('%10.5f,FF(i,j)); end fprin tf('\n');

end

(x-0.2)(x-0.4)(x-0.6)(x-0.8 )

fprintf ('*

************

**** 差分表 ***************************

**\n'

);

(2)接下来我们求三次样条插值函数。

用三次样条插值函数由上题分析知

,要求各点的M 值:

2 0 0 0 0 M 0 0

0.500 2 0.500 0 0 M

1

-3.7500 0 0.500

2 0.500 0 M 2

-4.5000 0 0 0.500

2 0.500 M 3

-6.7500 0

0 2

M

4

三次样条插值函数计算的程序如下:

[0.4,0.6

end

k=[0 1 10 11]

x0=0.2+0.08*k

for i=1:1:4

y0(i)=0.98-0.3*(x(i)-0.2)-0.62500*(x(i)-0.2)*(x(i)-0.4)

-0.20833*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)-0.52083*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)*(x(i)-0.

8)

end

plot( xO,yO,'o',xO,yO )

hold on

y1=spli ne(x,y,xO)

plot(x0,y1,'o')

hold on

s=csape(x,y,'variatio nal')

fnplt(s,'r')

hold on

gtext('三次样条自然边界')

gtext('原图像')

gtext('4次牛顿插值')

运行上述程序可知:给出的{ (X i, y i), x i=0.2+0.08i , i=0 , 1, 11, 10}点,S (x)及P4 (x)图

形如下所示:

实验

在区间[-1,1]上分别取n 10,20用两组等距节点对龙格函数f(x)

1

1 25x2

作多项式插值及

相关文档
最新文档