数值分析作业-三次样条插值

  • 格式:doc
  • 大小:249.50 KB
  • 文档页数:14

下载文档原格式

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

数值计算方法作业

实验4.3 三次样条差值函数

实验目的:

掌握三次样条插值函数的三弯矩方法。

实验函数:

dt e

x f x

t ⎰

--

=

2

221)(π

实验内容:

(1) 编程实现求三次样条插值函数的算法,分别考虑不同的边界条件; (2) 计算各插值节点的弯矩值;

(3) 在同一坐标系中绘制函数f(x),插值多项式,三次样条插值多项式的曲线

比较插值结果。

实验4.5 三次样条差值函数的收敛性

实验目的:

多项式插值不一定是收敛的,即插值的节点多,效果不一定好。对三次样条插值函数如何呢?理论上证明三次样条插值函数的收敛性是比较困难的,通过本实验可以证明这一理论结果。

实验内容:

按照一定的规则分别选择等距或非等距的插值节点,并不断增加插值节点的个数。

实验要求:

(1) 随着节点个数的增加,比较被逼近函数和三样条插值函数的误差变化情

况,分析所得结果并与拉格朗日插值多项式比较;

(2) 三次样条插值函数的思想最早产生于工业部门。作为工业应用的例子,考

虑如下例子:某汽车制造商根据三次样条插值函数设计车门曲线,其中一

算法描述:

拉格朗日插值:

错误!未找到引用源。

其中错误!未找到引用源。是拉格朗日基函数,其表达式为:()

≠=--=n

i j j j i j

i x x x x x l 0)

()(

牛顿插值:

)

)...()(](,...,,[....

))(0](,,[)0](,[)()(1102101210100----++--+-+=n n n x x x x x x x x x x f x x x x x x x f x x x x f x f x N

其中⎪⎪⎪⎪⎪

⎪⎩

⎪⎪

⎪⎪⎪⎪⎨⎧

--=--=

--=

-)/(]),...,[],...,[(]...,[..],[],[],,[)()(],[01102110x x x x x f x x x f x x x f x x x x f x x f x x x f x x x f x f x x f n n n n i k j i k j k j i j

i j i j i

三样条插值:

所谓三次样条插值多项式Sn(x)是一种分段函数,它在节点Xi(a

]

,[),6()6(]6

)

([6)(6)()(111113131

i i i

i i i i i i i i i i i i i i i i i i x x x h y

M h M h h y x M M h h y y h x x Mi h x x M x S -------∈-+-+---+-+-=

式中Mi=)(i x S ''.

因此,只要确定了Mi 的值,就确定了整个表达式,Mi 的计算方法如下:

令⎪⎪⎪⎪⎩

⎪⎪⎪⎪⎨⎧=---+=+=+=+--++++++],,[6)(61111111

11

i i i i i i i i i i i i i i i i i i i i

x x x f h y y h y y h h d h h h h h h λμ

则Mi 满足如下n-1个方程:

1,...2,1,211-==+++-n i d M M M i i i i i i λμ 常用的边界条件有如下几类:

(1) 给定区间两端点的斜率m 0,m n ,即n n n m y x S m y x S ='='='=')(,)(00

0 (2) 给定区间两端点的二阶导数M0,Mn,即n n n M y x S M y x S =''=''=''='')(,)(00

0 (3) 假设y=f(x)是以b-a 为周期的周期函数,则要求三次样条插值函数S (x )

也为周期函数,对S (x )加上周期条件2,1,0),0()0()(0)(=-=+p x S x S n p p

对于第一类边界条件有⎪⎪⎩

⎪⎨⎧

--=+--=+--)

(62)(6211001110n n n n n n i h y y mn h M M m h y y h M M

对于第二类边界条件有⎩⎨⎧=+=+-n n n n d M M d M M 221

100μλ

其中

n n n n n

n

n M u x x f m h d M m x x f h d )1(2]),[(6)1(2)],[(610000101

0-+-=

-+-=

-μλλ

那么解就可以为

⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----n n n n n n n d d d d d M M M M M 1210121011...2...............2............................1..2.1......0..2μλμλμλ 对于第三类边界条件,)0()0(,,000-=+==n n n x S x S M M y y ,由此推得

0010012d M M M n =-++μλ,其中