数值计算方法第四章

数值计算方法第四章
数值计算方法第四章

58 第四章 函数插值

插值是对函数进行近似的基本方法,本章介绍了代数插值时常用的Lagrange 插值法、Newton 插值法、Hermite 插值法和三次样条插值法,并相应的介绍了差商,差分和插值余项等概念.

§4.1 引 言

在科学与工程计算中,常会遇到如下问题:已知)(x f y =在区间[,]a b 上的一系列点{}n

i i x 0=处的函数值{}n

i i y 0=,需要利用这些数据来求某点)(i x x x ≠处的函数值

的近似值.若能利用这组数据建立一个近似)(x f 的函数)(x φ,)(x f 的值就可以用

)(x φ近似求出.

已知函数)(x f 在区间],[b a 上1+n 个互异节点{}n

i i x 0=处的函数值{}n

i i y 0=.若函

数集合Φ中函数()x φ满足条件

()() (0,1,2,,)i i x f x i n φ==

(4.1)

则称)(x φ为)(x f 在Φ中关于节点{}n

i i x 0=的一个插值函数,并称)(x f 为被插值函数,],[b a 为插值区间,{}n

i i x 0=为插值节点.式(4.1)被称为插值条件.

函数集合Φ可以有不同的选择,最常用的是形式简单的多项式函数集合.将多项式作为插值函数进行插值的方法称为代数插值.针对区间],[b a 上1+n 个互异节点,代数插值就是要确定一个不超过n 次的多项式

n n x a x a a x +++= 10)(φ (4.2)

使其满足插值条件(4.1),即选取参数{}0n

i i a =,满足线性方程组

000

1111111n

n n n n n

n a y x x a y x x a y x x ???????

???????????

=??????

????????????

?? (4.3)

59

记方程组(4.3)的系数矩阵为A .由于插值节点互异,故

0)()det(1)

(0≠∏-=

->=n j i j j i x x A .

线性方程组(4.3)存在惟一的一组解T ),,,(10n a a a .若0≠n a ,)(x φ是一个n 次多项式,否则)(x φ的次数低于n .于是有下面的结论.

定理4.1 满足插值条件(4.1)的不超过n 次的多项式存在并且惟一.

)(x φ与)(x f 在插值节点{}n i i x 0=处函数值相同,但它们在其它x 处的函数值并

不一定相同.将

()()()n R x f x x φ=- (4.4)

称为用插值多项式)(x φ近似)(x f 的插值余项.

定理4.2 )(x φ是对)(x f 关于节点{}n

i i x 0=的n 次插值多项式,若)()1(x f n +在区间],[b a 内存在,则对[,]x a b ?∈,有插值余项

(1)1()

()()()()(1)!

n n n f R x f x x x n ξφω++=-=+ (4.5)

其中),()(b a x ∈=ξξ,101()()()

()n n x x x x x x x ω+=---.

证明 由于)(x φ与)(x f 在插值节点上函数值相同,故 ()()()0 (0,1,n i i i R x f x x i n

φ=-=

= 因此插值余项可设为

)

()()(1x x k x R n n +=ω

(4.6)

将x 视为区间],[b a 上异于{}n

i i x 0=的任一固定点,作辅助函数

)()()()()(1t x k t t f t g n +--=ω?

易于验证01,,

,n x x x 和x 为)(t g 在区间],[b a 上的2+n 个零点.

由Rolle 中值定理知,函数)(t g '在区间),(b a 上至少有1+n 个互异零点,这1+n 个零点形成n 个子区间,在这些子区间上对)(t g '再次使用Rolle 定理,可知函数

)(t g ''在),(b a 上至少有n 个互异零点.依次类推,函数)()1(t g n +在),(b a 上至少有1

个零点,即存在ξ,使得

0)()!1()()()1()1(=+-=++x k n f g n n ξξ

从而得到

)!

1()

()()1(+=

+n f x k n ξ

60 将上式代入式(4.6)就得到插值余项(4.5),定理得证.

虽然通过1+n 个点{}n

i i i y x 0),(=的不超过n 次的多项式惟一,但可以选用不同的基来表示这个多项式.在本章,将选取两组不同的基函数表示该插值多项式,即Lagrange 插值多项式和Newton 插值多项式.

§4.2 Lagrange 插值

在构造n 次插值多项式时,式(4.2)简单地选取了n x x x ,,,12作为n 次多项式空间的一组基函数.为确定待定系数n a a a ,,,10 ,需要求解线性方程组(4.3).能否选择另外一组基函数来避免求解线性方程组?下面从线性插值来着手分析.

线性插值就是构造一条直线使其通过两点),(00y x 和),(11y x .此直线的两点式方程为

)(00

10

10x x x x y y y y ---=

-

将其等价变形为

10

100101

y x x x x y x x x x y --+--=

(4.7)

式(4.7)满足插值条件,并且右端是关于x 的一次多项式,故式(4.7)就是所求的插值多项式.将其记为)(1x L ,并引入记号

,)(101

0x x x x x l --=

101)(x x x x x l --=

式(4.7)就可以写成

11001)()()(y x l y x l x L += (4.8) 容易验证)()(10x l x l 和线性无关,它们被称为线性插值的Lagrange 插值基函数.

观察两个基函数,发现它们具有如下性质

???==0

)(1)(1000x l x l 1011()0()1l x l x =??

=? 对于三点),(00y x 、),(11y x 及),(22y x 的插值可以类似地写出一个二次多项式

61

2211002)()()()(y x l y x l y x l x L ++=

为了满足插值条件,上式中基函数)()(10x l x l 、、)(2x l 需分别满足下面的关系式

?????===0)(0

)(1

)(201

000x l x l x l ?????===0)(1

)(0

)(211

101x l x l x l ?????===1

)(0

)(0

)(221

202x l x l x l 将以上思路推广到1+n 个节点的情形,将经过1+n 个点{}n

i i i y x 0),(=的n 次插值多项式表示为

∑==++++=n

i i i n n n y x l y x l y x l y x l y x l x L 0221100)()()()()()( (4.9)

)(x L n 被称为关于节点{}n

i i x 0=的Lagrange 插值多项式,式中() (0,1,

,)i l x i n =被称为基于节点{}n

i i x 0=的Lagrange 插值基函数.当每个基函数() (0,1,

,)i l x i n =分

别满足条件

??

?≠≤≤==i

j n j i

j x l j i ,0,

0,

1)( (4.10)

时,可以验证)(x L n 满足插值条件.

对于某一个特定的{}n i ,2,1,0∈, )(x l i 为不超过n 次的多项式.根据式(4.10),)(x l i 在除节点i x 外的其余n 个节点处函数值为零, 故)(x l i 可表示为

)())(())(()(1110n i i i i x x x x x x x x x x k x l -----=+-

由1)(=i i x l 解出

)

())(())((1

1110n i i i i i i i i x x x x x x x x x x k -----=

+-

这样就得到插值基函数)(x l i 的具体表达式

)

())(())(()

())(())(()(11101110n i i i i i i i n i i i x x x x x x x x x x x x x x x x x x x x x l ----------=+-+- (4.11)

式(4.11)也可写为

)()()

()(11i n

i n i x x x x x l ++'-=

ωω

62 依据公式(4.11),前面提到的三点插值的Lagrange 插值基函数为

))(()

)(()(2010210x x x x x x x x x l ----=

))(()

)(()(2101201x x x x x x x x x l ----=

)

)(()

)(()(1202102x x x x x x x x x l ----=

例4.1 对于x y =,已知14)196(,13)169(,12)144(===f f f ,用Lagrange 线性和二次插值多项式求165的近似值,并给出插值误差估计. 解 记196169144210===x x x ,,;141312210===y y y ,,.

由于165=x 处在0x 和1x 之间,以它们为插值节点的Lagrange 线性插值多项式为

01

1010110

() x x x x L x y y x x x x --=

+-- 代入已知数据得

25

144

132516912)(1-?+--?

=x x x L 所以

4.1225

144

165132516916512)165()165(1=-?+--?

=≈L f 以210,,x x x 为插值节点的二次Lagrange 插值多项式为

0201122012010210122021()()()()()()

()()()()()()()

x x x x x x x x x x x x L x y y y x x x x x x x x x x x x ------=++------

代入已知数据得

2(169)(196)(144)(196)(144)(169)

()12131413006751404

x x x x x x L x ------=?+?+?-

所以

8448.12)165()165(2≈≈L f

由于x

x f 21

)(=',2341)(--=''x x f ,25

83)(-

='''x x f .故由式(4.5)可知,在165=x 处

线性插值多项式的余项

63

11

(165)()(165144)(165169)max ()4812!2144169

1

2

(144)48 4.1667102

R f f x x f ξ''''=--≤?≤≤-''=?=?

同理在165=x 处二次插值多项式的余项

24

1441961

(165)()(165144)(165169)(165196)

3!

11max ()1488(144)1488 6.54061066

x R f f x f ξ-≤≤=---''''''≤?=?=? §4.3 Newton 插值

当插值节点逐个增加时,考察插值多项式之间的联系.

只有一个节点0x 时,插值多项式为0y y =.当增加一个节点1x 时,由点),(00y x 和),(11y x 确定的线性多项式为

10

10001010

()()()y y p x y x x y c x x x x -=+

-=+-- (4.12) 进一步考察三个节点012,,x x x 上建立的二次插值多项式2()p x .由于2()p x 与1()p x 在01,x x 处函数值分别相等,故01,x x 是方程21()()0p x p x -=的根,则

21201()()()()p x p x c x x x x -=--

21201()()

()()p x p x c x x x x =+-- (4.13) 同理,当节点由k 个增加到1k +个,分别由它们所确定的1k -次和k 次多项式之间的关系为

1011()()()()()k k k k p x p x c x x x x x x --=+--- (4.14)

从上面的关系式可以看出,新增加一个节点,新的k 次多项式只需要在原来1k -次多项式的基础上增加一项即可,而且增加的这一项只需要确定系数k c .

将式(4.12)、(4.13)等前面1k -个式子依次代入(4.14)就得到()k p x 的具体形式为

010011()()()()()k k k p x y c x x c x x x x x x -=+-+

+--- (4.15)

64 可将式(4.15)看成是以0010111,,()(),,()()()k x x x x x x x x x x x x -------为基函数

的插值多项式的表达形式,这种插值方法被称为Newton 插值法. 一、 差商的定义

给定1k +个节点,求出k 次Newton 插值多项式(4.15)的关键是求出系数12,,,k c c c .将插值条件111()p x y =代入(4.12)可以求出

10

110

y y c x x -=

- (4.16) 同理将插值条件222()p x y =代入(4.13),并结合1()p x 的表达式有

2

012022122202120211021201101212110202120

[()]()()

()()()()

[()]()()()y y c x x p x p x c x x x x x x x x y y y y y y c x x c x x x x x x x x x x x x -+--==-------

-+-----==

--- (4.17)

可见1c 是在两点处函数值增量与自变量增量的商,数学上将它形象的称为差商.系数2c 可以看成是差商的增量与自变量的增量的商.下面给出差商的一般定义:

已知()y f x =在互异节点012,,,x x x 处的函数值分别为012,,,

y y y ,定义

[,]j i i j j i

y y f x x x x -=

- (4.18)

为()f x 在节点,i j x x 处的一阶差商.定义

[,][,]

[,,]j k i j i j k k i

f x x f x x f x x x x x -=

- (4.19)

为()f x 在节点,,i j k x x x 处的二阶差商.更一般的,对于任意的正整数k ,当定义了两个1k -阶差商11[,,

,]i i i k f x x x ++-和12[,,,]i i i k f x x x +++后就可以定义()f x 在节点

1,,,i i i k x x x ++处的k 阶差商

65

12111[,,

,][,,,]

[,,,]i i i k i i i k i i i k i k i

f x x x f x x x f x x x x x +++++-+++-=

- (4.20)

另外,规定()f x 在点i x 上的函数值()i f x 是()f x 在点i x 处的零阶差商,记为

[]i f x .在实际计算中,常常采用表4.1所示差商表计算各阶差商. 差商具有以下性质

性质1 差商可以表示为相关节点处函数值的线性组合,即对任意的n ,有

01'

111

[,,

,]()()

n

n i i n i f x x x f x x ω=+=∑

以上结论可以用数学归纳法进行证明.从性质1可知,改变节点的排列次序并不影响差商的值,由此得出差商的对称性.

性质2 差商具有对称性,即

01012[,,,

,][,,,]n n i i i f x x x x f x x x =

其中{}01,,

,n i i i 是{}0,1,2,,n 的任意排列.

66 性质3 设()f x 的n 阶导函数存在,则有()

()01[,,

]!

n n f f x x x n ξ=

,这里0101(min(,,),max(,,))n n x x x x x x ξ∈,该性质的证明后面给出.

二、Newton 插值多项式

将式(4.12)中的0y 和1c 写成差商的形式,得到一次的Newton 插值多项式

10010()[][,]()N x f x f x x x x =+-

从(4.17)式可知2012[,,]c f x x x =,将2c 代入(4.13)式,得到二次的Newton 插值多项式

2001001201()[][,]()[,,]()()N x f x f x x x x f x x x x x x x =+-+--

一般的,由式(4.14)可知

1011()()()()

()k k k k N x N x c x x x x x x --=+---

将k x x =代入上式,且利用插值多项式的惟一性有

11011011()()()()

()()()()()()

k k k k k k k k k k k k k k k k N x N x f x L x c x x x x x x x x x x x x ------=

=

------ 这里1()k L x -表示1k -次Lagrange 插值多项式,将1()k L x -展开并利用差商性质1得

11

00()0111

10010()()()()()()

()()

()()()()k k k j k i i j j i i j k k k k k k k i k i k k k i j k i j j i x x f x f x x x c x x x x x x f x f x x x x x x x x x --==≠---=-=≠??

-- ?

?-??=

---=

---??

-- ???

∑∏∑

01'

11()

[,,,]()k

i k i k i

f x f x x x x ω=+==∑

故k 次Newton 插值多项式的表达式

00100101()[][,]()[,,]()()k k k N x f x f x x x x f x x x x x x x -=+-+

+-- (4.21)

67

基于相同的插值条件,无论是用Lagrange 插值法还是Newton 插值法构造出的多项式相同,故相应的插值余项也应相同.根据定理4.2可知n 次Newton 插值多项式的插值余项为

(1)1()

()()()()

(1)!n n n n f R x f x N x x n ξω++=-=+

另外插值余项也可以用差商表示.设x 是异于01,,,n x x x 的一点,

则由这2n +个节点确定的以x 为自变量的1n +次多项式为

100100101101010101()[][,]()[,,]()()()

[,,,]()()()

()[,,

,,]()()

()

n n n n n n n n N t f x f x x t x f x x x t x t x t x f x x x x t x t x t x N t f x x x x t x t x t x +-=+-++---+---=+---

由于1()n N t +满足插值条件,即1()()n N x f x +=,将x 代入上式得

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

于是n 次Newton 插值多项式的插值余项的差商形式为

011()()()[,,

,]()n n n n R x f x N x f x x x x x ω+=-= (4.22)

对比两种余项表达式,可得 ()

(1)

01[,,

,](1)!

n n f f x x x x n ξ+=

+ (4.23) 以上推导过程同时也证明了差商的性质3.

例4.2 已知单调函数()y f x =在4个点处的函数值如下表

用插值法求方程()0f x =在区间(0.00, 1.80)内根的近似值.

解 由于()y f x =是一个单调函数,所以反函数)(1

y f

x -=存在.以y 为自变

68

)(1y f x -=的三次Newton 插值多项式为

2() 1.12 1.866667( 1.10)0.2904761( 1.10)(0.5) 0.0238095( 1.10)(0.5)(0.9)

N y y y y y y y =-+?+-?++-?++-

方程()0f x =根的近似值2(0)0.7853571N =.

§4.4 等距节点插值

前面介绍的方法中节点是任意分布的,实际应用中常碰到节点等距分布的情

形,此时Newton 插值多项式有更为简单的形式.为此引入差分算子的概念.

设在区间[,]a b 上分布等距节点 (0,1,2,)i x a ih i n =+=,这里b a

h n -=称为

步长.将()f a ih +简记为i f 或i y ,称

1i i i f f f +?=- (4.24)

为()f x 在i x 处以h 为步长的一阶向前差分,简称一阶差分.称

1i i i f f f -?=-

为()f x 在i x 处以h 为步长的一阶向后差分.用递推的方法可以给出更高阶的差分的定义.一般的,

1111()k k k k i i i i f f f f ---

+?=??=?-?

(4.25) 被称为()f x 在i x 处以h 为步长的k 阶向前差分,简称k 阶差分.

由差分的定义可以得到k 分别取1、2、3时差分与函数值之间的关系

1i i i f f f +?=-

2121121()() 2i i i i i i i i i i

f f f f f f f f f f ++++++?=?-?=---=-+

69

332133i i i i i f f f f f +++?=-+-

1

1(1)(1)k m m k i k i k k i k k i m i f f C f C f f ++-+-?=-+

+-++- (4.26)

式(4.26)中!

!()!

m k k C m k m =

-.

用数学归纳法可以证明建立在等距节点上的差商和差分具有如下的关系

1[,,

]!n i

i i i n n

f f x x x n h ++?=

(4.27) 在节点等距分布时,n 次Newton 插值多项式(4.21)中的各阶差商依据式(4.27)可分别替换成差分形式,并令0x x th =+,则得

2000001(1)(1)()(1)2!!

n n t t t n N x th f t f t t f f n --++=+?+

-?+? (4.28) 称(4.28)式为Newton 向前差分公式.由式(4.5)还可将插值余项表示为 1(1)

(1)()

()(), ()(,)(1)!

n n n t t t n R x h f

x a b n ξξ++--=

∈+ (4.29)

当节点从大到小顺序排列时,还可得到基于向后差分算子的Newton 向后差

分公式.

21(1)(1)()(1)2!!

n

n n n n n n t t t n N x th f t f t t f f n ++-+=+?++?+? (4.30)

§4.5 Hermite 插值

在0x 附近,可用()f x 在0x 处的n 阶Taylor 展开式)(x p n 来近似函数()f x

显然它与()f x 在0x 处具有相同的函数值,以及1到n 阶导数值,即有

()()

00()() (0,1

,2,)i i n p x f x i n == (4.31)

故可将n 阶的Taylor 公式视为在0x 处满足插值条件(4.31)的一种插值方法.

n

n n x x n x f x x x f x f x p )(!)())((')()(00)(000-+-+=

70 为在较大的范围内能更好的近似被插值函数()f x ,在实际应用中,不但要求在节点上插值函数与被插值函数有相同的函数值,而且要求在部分或者全部节点上一阶甚至更高阶的导数值也相同.这类插值称为Hermite 插值.在一点处两个函数的函数值和一阶导数值相同,在几何上表现为两条曲线在该点有相同的切线;如果直至二阶导数值相同,则两条曲线在该点具有相同的凹凸性及曲率.可见,Hermite 插值是一类更广泛的插值方法,Taylor 公式可视为在0x 处的Hermite 插值.

在构造Hermite 插值时,如给出的插值条件有1m +个,则可以构造一个不超过m 次的插值多项式,下面就一些常见的例子来讨论建立Hermite 插值多项式的方法.

例4.3 试确定一个不超过二次的多项式2()p x ,使其满足如下插值条件

'

200211200(), (), ()p x y p x y p x m ===

解 先利用前两个插值条件,构造一个1次的插值多项式

01

1010110

()x x x x p x y y x x x x --=

+-- 显然,100111(), ()p x y p x y ==,定义

2101()()()()p x p x c x x x x =+--

这里c 是一个常数,无论c 取何值,插值条件200211() ()p x y p x y ==和都能满足,再

利用条件'

200()p x m =确定系数c ,即

10

01010

()y y c x x m x x -+-=- (4.32) 从式(4.32)中解出c 回代到2()p x ,得到

0011

201001011001

011()()()()x x y y x x p x y y m x x x x x x x x x x x x ??---=

++---??----?? 类似于定理4.2的证明,可求出插值余项为

71

(3)

222011()()()()()()3!

R x f x p x f x x x x ξ=-=

-- 这里)),max(),,(min(1010x x x x ∈ξ.

例4.4 求一个三次多项式3()H x 使其满足插值条件

300311''3

003

11(), (),(), ().

H x y H x y H x m H x m ====

解 构造四个不超过3次的插值多项式0101(),(),(),()x x x x ααββ,使它们分别满足

''

00010001''

10111011''

00

010001''10111011()1, ()0, ()0, ()0;()0, ()1, ()0, ()0;

()0, ()0, ()1, ()0;()0, ()0, ()0, () 1.

x x x x x x x x x x x x x x x x ααααααααββββββββ?====?====??====??====? 则满足插值条件的多项式可以写成如下形式

3001

1

01

()()()()()H x x y x y x m x m

αα

ββ

=+++ (4.33) 假设2

210001()()[()]()x x x Ax B l x Ax B x x α??-=+=+ ?-??

可验证条件'0101()0, ()0x x αα==是自动满足的.现利用另外的两个条件

00000

001()11'()2()0x Ax B x A Ax B x x αα=+=?

?

?

=++=?-?

求解可得00101

22

1x A B x x x x =-=+--,.

于是有函数

2

0100101()12x x x x x x x x x α????

--=- ???--?

??? (4.34) 同理可得

2

1111010()12x x x x x x x x x α????

--=-

???--?

??? (4.35)

72 假设2

210001()()[()]()x x x Cx D l x Cx D x x β??

-=+=+? ?-??

,可验证条件

'0101()0, ()0x x ββ==是自动满足的.现利用另外的两个条件

00000

001()01'()2()1x Cx D x C Cx D x x βα=+=?

?

?

=++=?-?

求可得01C D x ==-,. 于是有函数

2

10001()()x x x x x x x β??

-=-? ?-??

(4.36)

同理可得

2

01110()()x x x x x x x β??

-=-? ?-??

(4.37)

得到插值多项式

001130101011010010011

0110()1212()()x x x x x x x x H x y y x x x x x x x x x x x x x x m x x m x x x x ????????

----=-+- ?

?????----????????????

--+-+- ? ?--????

(4.38)

上式称为三次Hermite 插值多项式,其余项为

(4)2233011

()()()()()()4!R x f x p x f x x x x ξ=-=--

这里)),max(),,(min(1010x x x x ∈ξ.

上面介绍了两种典型Hermite 插值问题的解法,例4.3将所求的多项式()p x 分解为()()q x r x +的形式,()q x 用Newton 插值法或者Lagrange 插值法确定,()r x 用待定系数法确定.例4.4采用了每个点分别构造两个基函数,再与该点函数值和导数值组合的方法.实际问题可仿照此两例类似求解.

73

§4.6 分段插值

在一个较大的区间[,]a b 上,如果用只过两个点的线性插值函数近似()f x ,效果显然不会很好.为了提高近似效果,一种方法是插入新节点.随着新节点的不断插入,插值多项式的次数通常会逐渐增高.节点数增多固然使插值多项式在更多的节点处与被插值函数有相同的函数值,但在两相邻插值节点之间,插值函数未必能够很好地近似被插值函数,它们之间甚至会有非常大的差异,即收敛性得不到保证,因此在实际中很少采用七、八次以上的高次插值.图4.1所示的是在区间[5,5]-上,分别采用五次和十次基于等距节点的Lagrange 插值多项式对函数

2

1

()1f x x

=

+进行近似的情况.不难看出,该近似随着插值多项式次数的增加,插值函数在节点间震荡的很厉害.

另一种提高近似效果的方法是插入节点将区间分成很多小区间,在每个小区间上采用低次插值(一次或二次),即分段插值方法. 一、 分段Lagrange 插值

设在区间[,]a b 上有1n +个点01n a x x x b =<<

<=,它们将区间分成了n 个小区

间.若已知函数()f x 在每个点上的函数值分别为() (0,1,2,)i i y f x i n ==,在每个小区

间1[,] (1,2,

)i i x x i n -=上做线性插值,最终得到一个分段线性函数1()g x .1()g x 在每个

小区间上是线性函数,在整个区间[,]a b 上连续,且经过所有点{}n

i i i y x 0),(=.

74

图4.1 高次插值不稳定现象示意图

1()g x 在区间1[,]i i x x -上的具体表达式为 1

1111

()i i i i i i i i x x x x g x y y x x x x ------=

+-- (4.39)

依照Lagrange 插值方法的思路,也可通过构造基函数的方法来构造1()g x .若点i x 上的基函数()i x ?满足以下条件 (1) 在每个小区间上都是线性函数;

(2) 0 () 1 i k i k

x i k

?≠?=?=?;

则1()g x 可以表示成这些基函数与函数值的线性组合,即10()()n

j j j g x y x ?==∑.

分段线性插值多项式的余项可以通过线性插值多项式的余项进行估计. 定理4.3 设有节点01n a x x x b =<<

<=及相应的函数值{}0n

i i y =,"()f x 在

[,]a b 上存在,1()g x 是基于点集{}n

i i i y x 0),(=对()f x 的分段线性插值多项式,则有插

值误差估计

75

2

1()()()

8

h R x f x g x M =

-≤ (4.40)

其中''11max ,max ()i i i n

a x b

h x x M f x -≤≤≤≤=-=.

证明 根据式(4.5),在每个区间1[,] (1,2,

)i i x x i n -=上1()g x 的插值余项为

''

11()()()()2!

i i i i R x f x x x x ξ-=

-- 其中1(,)i i i x x ξ-∈.取绝对值

1''

1''2

11()()()()2!

11

max ()()2!4i i i i i i i i x x x R x f x x x x f x x x ξ---≤≤=

?--≤?-

因此,在整个区间[,]a b 上,设11max ,max ''()i i i n

a x b

h x x M f x -≤≤≤≤=-=

2

1()max ()8

i i n h R x R x M ≤≤≤≤

从而定理得证.

类似地,可构造分段二次插值函数2()g x .将整个区间[,]a b 分成n (n 为偶数)个小区间,在区间222[,] (0,1,

,1)2

i i n

x x i +=-上,2()g x 的表达式为

21222222221

221222************

2222221()()()()

()()()()()

()()

()()

i i i i i i i i i i i i i i i i i i i i i x x x x x x x x g x y y x x x x x x x x x x x x y x x x x ++++++++++++++----=

+------+-- (4.41)

类似定理4.3证明,可推出分段二次插值的插值余项为

3

2()()()12

h R x f x g x M =-≤

其中'''222max ,max ()i i a x b

h x x M f x +≤≤=-=.

76 分段插值函数虽在插值节点上连续,但在节点上导数不一定存在,故光滑性比较差.但从整体而言,能对被插值函数达到较好的近似,特别是将区间划分的足够多,足够细时更是如此. 二、 分段Hermite 插值

4.5节的例4.4构造了两点三次Hermite 插值多项式,结合分段插值的思想可以构造分段三次Hermite 插值,即在每个小区间1[,]i i x x -上构造两点三次Hermite 插值3()S x .相应的插值条件为

3'

3 () (0,1,2,) ()i i

i

i S x y i n S x m =?=?=?

在区间1[,] (1,2,)i i x x i n -=上,将节点01,x x 替换为1,i i x x -就得到分段三次

Hermite 插值多项式,

22

113111112

2

11111()1212 ()()i i i i i i i i i i i i i i i i i i i i i i i i x x x x x x x x S x y y x x x x x x x x x x x x x x m x x m x x x x ------------????????

----=-+- ?

?????----????????????

--+-+- ?

?--????

(4.42)

3()S x 具有以下性质

(1) 3()S x 在区间[,]a b 上是连续函数;

(2) 在插值节点i x 上,33(), '()i i i i S x y S x m ==; (3) 在每个小区间1[,] (1,2,

)i i x x i n -=上,3()S x 是不超过三次的多项式.

虽然3()S x 对()f x 有着比12(),()g x g x 更好的近似效果,但构造3()S x 时不仅需要每个节点上函数值还需要每个节点上的导数值,过多的数据要求限制了它在工程上的使用.工程中常采用不需要节点导数信息却依然能达到二阶光滑性的三次样条插值方法.

77

§4.7 三次样条插值

一、 三次样条插值函数的定义

{}0n

i i x =是区间[,]a b 上的1n +个节点,若函数()S x 满足条件

(1) 在区间[,]a b 上()S x 具有连续二阶导数; (2) 在每个小区间1[,] (1,2,3,

,)i i x x i n -=上,()S x 是一个三次多项式;

(3) 在节点处满足插值条件,即() (0,1,2,,)i i S x y i n ==.

则称()S x 为()f x 关于节点{}n

i i x 0=的三次样条插值函数.

在每个小区间上()S x 是三次多项式,则在每个小区间上需要确定4个待定系

数.由于一共有n 个小区间,故在整个插值区间上有n 4个待定系数.依据三次样条插值函数的定义,共有如下24-n 个约束

边界节点处: 00(0)()

(0)()n n S x f x S x f x +=??-=?

内节点i x 处: ''''''

(0)(0)(0)(0) (1,2,3,,1)(0)(0)()()i i i i

i i i i S x S x S x S x i n S x S x S x f x -=+??-=+?=-?-=+??=?

要确定n 4个待定系数, 还需附加2个约束条件.通常在[,]a b 的边界上补充两个边界条件,常见的补充条件有以下三种.

(1) 给定端点处的一阶导数值(转角边界条件),即

''00(), ()n n S x m S x m == (4.43)

(2) 给定端点处的二阶导数值(弯矩边界条件),即

''''00(), ()n n S x M S x M == (4.44)

特别地, 当00==n M M 时,称该条件为自然边界条件. (3) 周期性边界条件

''0''''

0(0)(0)

(0)(0)n n S x S x S x S x ?+=-??+=-??

(4.45)

数值计算方法学习指导书内容简介

数值计算方法学习指导书内容简介 数值计算方法学习指导书内容简介《数字信号处理学习指导》是浙江省高等教育重点建设教材、应用型本科规划教材《数字信号处理》(唐向宏主编,浙江大学出版社出版,以下简称教材)的配套学习指导书,内容包括学习要求、例题分析、教材习题解答、自测练习以及计算机仿真实验等。学习指导书紧扣教材内容,通过例题讲解,分析各章节的学习重点、难点以及需要理解、掌握和灵活运用的基本概念、基本原理和基本方法。全书共有66例例题分析、121题题解、2套自测练习和6个mat1ab计算机仿真实验。 数值计算方法学习指导书目录绪论 第1章离散时间信号与系统 1.1 学习要点 1.2 例题 1.3 教材习题解答 第2章离散系统的变换域分析与系统结构 2.1 学习要点 2.2 例题 2.3 教材习题解答 第3章离散时间傅里叶变换

3.1 学习要点 3.2 例题 3.3 教材习题解答 第4章快速傅里叶变换 4.1 学习要点 4.2 例题 4.3 教材习题解答 第5章无限长单位冲激响应(iir)数字滤波器的设计5.1 学习要点 5.2 例题 5.3 教材习题解答 第6章有限长单位冲激响应(fir)数字滤波器的设计6.1 学习要点 6.2 例题 6.3 教材习题解答 第7章数字信号处理中的有限字长效应 7.1 学习要点 7.2 例题 7.3 教材习题解答 第8章自测题 8.1 自测题(1)及参考答案 8.2 自测题(2)及参考答案 第9章基于matlab的上机实验指导 9.1 常见离散信号的matlab产生和图形显示

9.2 信号的卷积、离散时间系统的响应 9.3 离散傅立叶变换 9.4 离散系统的频率响应分析和零、极点分布 9.5 iir滤波器的设计 9.6 fir滤波器的设计 数值计算方法学习指导书内容文摘第1章离散时间信号与系统 1.1 学习要点 本章主要介绍离散时间信号与离散时间系统的基本概念,着重阐述离散时间信号的表示、运算,离散时间系统的性质和表示方法以及连续时间信号的抽样等。本章内容基本上是“信号与系统”中已经建立的离散时间信号与系统概念的复习。因此,作为重点学习内容,在概念上需要明白本章在整个数字信号处理中的地位,巩固和深化有关概念,注意承前启后,加强葙关概念的联系,进一步提高运用概念解题的能力。学习本章需要解决以下一些问题: (1)信号如何分类。 (2)如何判断一个离散系统的线性、因果性和稳定性。 (3)线性时不变系统(lti)与线性卷积的关系如何。 (4)如何选择一个数字化系统的抽样频率。 (5)如何从抽样后的信号恢复原始信号。 因此,在学习本章内容时,应以离散时间信号的表示、离散时间系统及离散时间信号的产生为主线进行展开。信号的离散时间的表示主要涉及序列运算(重点是卷积和)、常用序列、如何判

数值计算实验课题目

数值实验课试题 本次数值实验课结课作业,请按题目要求内容写一篇文章。按题目要求 人数自由组合,每组所选题目不得相同(有特别注明的题目除外)。试题如下: 1)解线性方程组的Gauss 消去法和列主元Gauss 消去法(2人)/*张思珍,巩艳华*/ 用C 语言将不选主元和列主元Gauss 消去法编写成通用的子程序,然后用你编写的程序求解下列84阶的方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 1681684 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 2)解线性方程组的平方根法(4人)/*朱春成、黄锐奇、张重威、章杰*/ 用C 语言将平方根法和改进的平方根法编写成通用的子程序,然后用你编写的程序求解对称正定方程组b Ax =,其中 (1)b 随机的选取,系数矩阵为100阶矩阵 ?????? ???? ? ? ?101 1101 1101 1101 1101110 ; (2)系数矩阵为40阶的Hilbert 矩阵,即系数矩阵A 的第i 行第j 列元素为 1 1-+= j i a ij ,向量b 的第i 个分量为∑=-+ = n j i j i b 1 1 1. 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编

3.《数值分析简明教程》,王能超编 3)三对角线方程组的追赶法(3人)/*黄佳礼、唐伟、韦锡倍*/ 用C 语言将三对角线方程组的追赶法法编写成通用的子程序,然后用你编写的程序求解如下84阶三对角线方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 16816 84 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值分析简明教程》,王能超编 4)线性方程组的Jacobi 迭代法(3人)/*周桂宇、杨飞、李文军*/ 用C 语言将Jacobi 迭代法编写成独立的子程序,并用此求解下列方程组, 精确到小数点后5位 ???? ? ??=????? ??????? ? ?-149012 2111221 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 5)线性方程组的Gauss-Seidel 迭代法(3人)/*张玉超、范守平、周红春*/ 用C 语言将Gauss-Seidel 迭代法编写成独立的子程序,并用此求解下列方程组,精确到小数点后5位 ???? ? ??=????? ??????? ? ?--39721 1111112 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 6)解线性方程组的最速下降法法(2人)/*赵育辉、阿热孜古丽*/ 用C 语言将最速下降法编写成通用的子程序,然后用你编写的程序求解对称

现代数值计算方法习题答

现代数值计算方法习题答案 习 题 一 1、解:根据绝对误差限不超过末位数的半个单位,相对误差限为绝对误差限除以 有效数字本身,有效数字的位数根据有效数字的定义来求.因此 49×10 -2 :E = 0.005; r E = 0.0102; 2位有效数字. 0.0490 :E = 0.00005;r E = 0.00102; 3位有效数字. 490.00 :E = 0.005; r E = 0.0000102;5位有效数字. 2、解: 7 22 = 3.1428 …… , π = 3.1415 …… , 取它们的相同部分3.14,故有3位有效数字. E = 3.1428 - 3.1415 = 0.0013 ;r E = 14 .3E = 14 .30013.0 = 0.00041. 3、解:101的近似值的首位非0数字1α = 1,因此有 |)(*x E r |) 1(10 1 21--??=n < = 2 1× 10 -4 , 解之得n > = 5,所以 n = 5 . 4、证:) ()(1)()(1)(* 1 1* * 1 1 * * x x x n x E x n x E n n n -= ≈ -- )(11)()(1) ()(* * * * * 1 1 ** * * x E n x x x n x x x x n x x E x E r n n n n n r = -= -≈ = - 5、解:(1)因为=20 4.4721…… , 又=)(*x E |*x x -| = |47.420-| = 0.0021 < 0.01, 所以 =*x 4.47. (2)20的近似值的首位非0数字1α = 4,因此有 |)(*x E r |) 1(10 4 21--??= n < = 0.01 , 解之得n > = 3 .所以,=*x 4.47. 6、解:设正方形的边长为x ,则其面积为2x y =,由题设知x 的近似值为*x = 10 cm . 记*y 为y 的近似值,则

数值计算方法教学大纲

《数值计算方法》教学大纲 课程编号:MI3321048 课程名称:数值计算方法英文名称:Numerical and Computational Methods 学时: 30 学分:2 课程类型:任选课程性质:任选课 适用专业:微电子学先修课程:高等数学,线性代数 集成电路设计与集成系统 开课学期:Y3开课院系:微电子学院 一、课程的教学目标与任务 目标:学习数值计算的基本理论和方法,掌握求解工程或物理中数学问题的数值计算基本方法。 任务:掌握数值计算的基本概念和基本原理,基本算法,培养数值计算能力。 二、本课程与其它课程的联系和分工 本课程以高等数学,线性代数,高级语言编程作为先修课程,为求解复杂数学方程的数值解打下良好基础。 三、课程内容及基本要求 (一) 引论(2学时) 具体内容:数值计算方法的内容和意义,误差产生的原因和误差的传播,误差的基本概念,算法的稳定性与收敛性。 1.基本要求 (1)了解算法基本概念。 (2)了解误差基本概念,了解误差分析基本意义。 2.重点、难点 重点:误差产生的原因和误差的传播。 难点:算法的稳定性与收敛性。 3.说明:使学生建立工程中和计算中的数值误差概念。 (二) 函数插值与最小二乘拟合(8学时) 具体内容:插值概念,拉格朗日插值,牛顿插值,分段插值,曲线拟合的最小二乘法。 1.基本要求 (1)了解插值概念。 (2)熟练掌握拉格朗日插值公式,会用余项估计误差。 (3)掌握牛顿插值公式。 (4)掌握分段低次插值的意义及方法。

(5)掌握曲线拟合的最小二乘法。 2.重点、难点 重点:拉格朗日插值, 余项,最小二乘法。 难点:拉格朗日插值, 余项。 3.说明:插值与拟合是数值计算中的常用方法,也是后续学习内容的基础。 (三) 第三章数值积分与微分(5学时) 具体内容:数值求积的基本思想,代数精度的概念,划分节点求积公式(梯形辛普生及其复化求积公式),高斯求积公式,数值微分。 1.基本要求 (1)了解数值求积的基本思想,代数精度的概念。 (2)熟练掌握梯形,辛普生及其复化求积公式。 (3)掌握高斯求积公式的用法。 (4)掌握几个数值微分计算公式。 2.重点、难点 重点:数值求积基本思想,等距节点求积公式,梯形法,辛普生法,数值微分。 难点:数值求积和数值微分。 3.说明:积分和微分的数值计算,是进一步的各种数值计算的基础。 (四) 常微分方程数值解法(5学时) 具体内容:尤拉法与改进尤拉法,梯形方法,龙格—库塔法,收敛性与稳定性。 1.基本要求 (1)掌握数值求解一阶方程的尤拉法,改进尤拉法,梯形法及龙格—库塔法。 (2)了解局部截断误差,方法阶等基本概念。 (3)了解收敛性与稳定性问题及其影响因素。 2.重点、难点 重点:尤拉法,龙格-库塔法,收敛性与稳定性。 难点:收敛性与稳定性问题。 3.说明:该内容是常用的几种常微分方程数值计算方法,是工程计算的重要基础。 (五) 方程求根的迭代法(4学时) 具体内容:二分法,解一元方程的迭代法,牛顿法,弦截法。 1.基本要求 (1)了解方程求根的对分法和迭代法的求解过程。 (2)熟练掌握牛顿法。 (3)掌握弦截法。 2.重点、难点 重点:迭代法,牛顿法。

曲线拟合的数值计算方法实验

曲线拟合的数值计算方法实验 【摘要】实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。曲线直线化是曲线拟合的重要手段之一。对于某些非线性的资料可以通过简单的变量变换使之直线化,这样就可以按最小二乘法原理求出变换后变量的直线方程,在实际工作中常利用此直线方程绘制资料的标准工作曲线,同时根据需要可将此直线方程还原为曲线方程,实现对资料的曲线拟合。常用的曲线拟合有最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束。 关键词曲线拟合、最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束 一、实验目的 1.掌握曲线拟合方式及其常用函数指数函数、幂函数、对数函数的拟合。 2.掌握最小二乘法、线性插值、三次样条插值、端点约束等。 3.掌握实现曲线拟合的编程技巧。 二、实验原理 1.曲线拟合 曲线拟合是平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。用解析表达式逼近离散数据的一种方法。在科学实验或社会活动中,通过 实验或观测得到量x与y的一组数据对(X i ,Y i )(i=1,2,...m),其中各X i 是彼此不同的。人们希望用一类与数据的背景材料规律相适应的解析表达式,y=f(x,c)来反映量x与y之间的依赖关系,即在一定意义下“最佳”地逼近或 拟合已知数据。f(x,c)常称作拟合模型,式中c=(c 1,c 2 ,…c n )是一些待定参 数。当c在f中线性出现时,称为线性模型,否则称为非线性模型。有许多衡量拟合优度的标准,最常用的一种做法是选择参数c使得拟合模型与实际观测值在

数值分析第二章复习与思考题

第二章复习与思考题 1.什么是拉格朗日插值基函数?它们是如何构造的?有何重要性质? 答:若n 次多项式()),,1,0(n j x l j =在1+n 个节点n x x x <<< 10上满足条件 (),,,1,0,, ,0, ,1n k j j k j k x l k j =?? ?≠== 则称这1+n 个n 次多项式()()()x l x l x l n ,,,10 为节点n x x x ,,,10 上的n 次拉格朗日插值基函数. 以()x l k 为例,由()x l k 所满足的条件以及()x l k 为n 次多项式,可设 ()()()()()n k k k x x x x x x x x A x l ----=+- 110, 其中A 为常数,利用()1=k k x l 得 ()()()()n k k k k k k x x x x x x x x A ----=+- 1101, 故 ()()()() n k k k k k k x x x x x x x x A ----= +- 1101 , 即 ()()()()()()()()∏ ≠=+-+---=--------=n k j j j k j n k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x l 0110110)( . 对于()),,1,0(n i x l i =,有 ()n k x x l x n i k i k i ,,1,00 ==∑=,特别当0=k 时,有 ()∑==n i i x l 0 1. 2.什么是牛顿基函数?它与单项式基{ }n x x ,,,1 有何不同? 答:称()()()(){ }10100,,,,1------n x x x x x x x x x x 为节点n x x x ,,,10 上的牛顿基函数,利用牛顿基函数,节点n x x x ,,,10 上的n 次牛顿插值多项式()x P n 可以表示为 ()()()()10010---++-+=n n n x x x x a x x a a x P 其中[]n k x x x f a k k ,,1,0,,,,10 ==.与拉格朗日插值多项式不同,牛顿插值基函数在增加节点时可以通过递推逐步得到高次的插值多项式,例如 ()()()()k k k k x x x x a x P x P --+=++ 011,

现代数值分析

研硕16《化工数值方法及Matlab应用》试题 班级姓名成绩 1.(15分)数值计算方法的主要研究对象有哪些?其常用基本算法主要包括哪三个方面?举例说明Matlab在解决化工数值计算问题方面有什么样实用价值?答:(1)数值计算方法的主要研究对象为非线性方程求根,插值法、曲线拟合、数值积分、常微分方程(组)、初值问题求解、线性和非线性方程组求解。(2)基本算法包括①离散化方法:用差商代替导数、差分代替微分等,将连续的数学问题转化为离散问题。②逼近方法:用简单函数的值近似代替求解困难或形式未知的复杂函数的值。③迭代法:用一个固定公式反复计算,对较为粗糙的根的近似值进行加工直到满足精度要求的方法。 (3)Matlab在解决化工数值计算问题的实用价值有:数值计算和符号计算功能;图形功能;MATLAB语言;功能性和学科性工具箱。 2.(10分)数值计算中的“曲线拟合”,一般有哪些方法?请至少指出四种,并简述各自的基本特点。 答:(1)拉格朗日插值:,优点在于不要求数据点事等间隔的,缺点是数据点不易过多,当数据比较多时,差值函数有偏离原函数的风险; (2)牛顿插值法:它不仅克服了“增加一个节点时整个计算工作必须重新开始”的缺点,而且可以节省乘、除法运算次数。同时,在牛顿插值多项式中用到的差分与差商等概念,又与数值计算的其他方面有着密切的关系。

(3)牛顿迭代法:牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根,此时线性收敛,但是可通过一些方法变成超线性收敛。 (4)区间二分法:优点:算法简单,容易理解,且总是收敛的。缺点:收敛速度太慢,浪费时间,二分法不能求复根跟偶数重根。 (5)最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。 3. (15分)在298K 下,化学反应 2OF 2=O 2+2F 2 的平衡常数为0.410 atm ,如在298K 下将OF 2 通入容器,当t=0 时为1 atm ,问最后总压是多少?取计算精度为10-3 。 解:首先写出求解问题的数学方程式。 假设气体是理想气体,由反应的化学计量式可知, 22222F O OF += 设氧的分压为p ,平衡时有p 21- p p 2。 平衡时,有()410.02142 3=-p p 整理得 0410.064.1640.1423=-+-p p p 函数关系为 ()0410.064.1640.1423=-+-=p p p p f

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

数值计算方法第二章

第二章 非线性方程数值解法 在科学计算中常需要求解非线性方程 ()0f x = (2.1) 即求函数()f x 的零点.非线性方程求解没有通用的解析方法,常采用数值求解算法.数值解法的基本思想是从给定的一个或几个初始近似值出发,按某种规律产生一个收敛的迭代序列0{}k k x +∞=,使它逐步逼近于方程(2.1)的某个解.本章介绍非线性方程实根的数值求解算法:二分法、简单迭代法、Newton 迭代法及其变形,并讨论它们的收敛性、收敛速度等. §2.1 二分法 一、实根的隔离 定义 2.1 设非线性方程(2.1)中的()f x 是连续函数.如果有*x 使*()0f x =,则称*x 为方程(2.1)的根,或称为函数()f x 的零点;如果有*()()()m f x x x g x =-,且()g x 在*x 邻域内连续,*()0g x ≠,m 为正整数,则称*x 为方程(2.1)的m 重根.当1m =时,称*x 为方程的单根. 非线性方程根的数值求解过程包含以下两步 (1) 用某种方法确定有根区间.称仅存在一个实根的有根区间为非线性方程的隔根区间,在有根区间或隔根区间上任意值为根的初始近似值; (2) 选用某种数值方法逐步提高根的精度,使之满足给定的精度要求. 对于第(1)步有时可以从问题的物理背景或其它信息判断出根的所在位置,特别是对于连续函数()f x ,也可以从两个端点函数值符号确定出有根区间. 当函数()f x 连续时,区间搜索法是一种有效的确定较小有根区间的实用方法,其具体做法如下 设[,]a b 是方程(2.1)的一个较大有根区间,选择合适的步长()/h b a n =-,k x a kh =+,(0,1,,)k n =L .由左向右逐个计算()k f x ,如果有1()()0k k f x f x +<,则区间1[,]k k x x +就是方程的一个较小的有根区间. 一般情况下,只要步长h 足够小,就能把方程的更小的有根区间分离出来;如果有根区间足够小,例如区间长度小于给定的精度要求,则区间内任意一点可

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

李庆扬-数值分析第五版第7章习题答案(0824)汇编

第7章复习与思考题

求f (X )= 0的零点就等价于求(x )的不动点,选择一个初始近似值X 0,将它代入X =「(X ) 的右端,可求得 X 1 h%X °),如此反复迭代有 X k 1 二(X k ), k =0,1,2,..., (X)称为迭代函数,如果对任何 X 。? [a,b],由x k 卜h%x k ),k =0,1,2,...得到的序列 〈X k 1有极限 则称迭代方程收敛,且X* =?(x*)为?(X )的不动点 故称 X k q 二(X k ), k =0,1,2,...为不动点迭代法。 5?什么是迭代法的收敛阶?如何衡量迭代法收敛的快慢?如何确定 X k 1 二「(X k )(k =0,1,2,...)的收敛阶 P219 设迭代过程X k 1'h%X k )收敛于 (X)的根X*,如果当k > 时,迭代误差 e k = x k - x *满足渐近关系式 —t C,C =const 式 0 e/ 则称该迭代过程是 p 阶收敛的,特别点,当 p=1时称为线性收敛,P>1时称为超线性收敛, p=2时称为平方收敛。 以收敛阶的大小衡量收敛速度的快慢。 6?什么是求解f(x)=0的牛顿法?它是否总是收敛的?若 f(X*) =0,X*是单根,f 是光 滑,证明牛顿法是局部二阶收敛的。 牛顿法: 当| f (X k )卜J 时收敛。 7?什么是弦截法?试从收敛阶及每步迭代计算量与牛顿法比较其差别。 在牛顿法的基础上使用 2点的的斜率代替一点的倒数求法。就是弦截法。 收敛阶弦截法1.618小于牛顿法2 计算量弦截法 <牛顿法(减少了倒数的计算量) 8?什么是解方程的抛物线法?在求多项式全部零点中是否优于牛顿法? P229 X - m X k 1 =X k f (X k ) f (X k )

数值计算方法教学大纲(本)

数值计算方法教学大纲(本) 本着“崇术重用、服务地方”的办学理念和我校“高素质应用型人才”的培养目标,特制定了适合我校工科专业本科生的新教学大纲。 一、课程计划 课程名称:数值计算方法Numerical Calculation Method 课程定位:数学基础课 开课单位:理学院 课程类型:专业选修课 开设学期:第七学期 讲授学时:共15周,每周4学时,共60学时 学时安排:课堂教学40学时+实验教学20学时 适用专业:计算机、电科、机械等工科专业本科生 教学方式:讲授(多媒体为主)+上机 考核方式:考试60%+上机实验30%+平时成绩10% 学分:3学分 与其它课程的联系 预修课程:线性代数、微积分、常微分方程、计算机高级语言等。 后继课程:偏微分方程数值解及其它专业课程。 二、课程介绍 数值计算方法也称为数值分析,是研究用计算机求解各种数学问题的数值方法及其理论的一门学科。随着计算科学与技术的进步和发展,科学计算已经与理论研究、科学实验并列成为进行科学活动的三大基本手段,作为一门综合性的新科学,科学计算已经成为了人们进行科学活动必不可少的科学方法和工具。 数值计算方法是科学计算的核心内容,它既有纯数学高度抽象性与严密科学性的特点,又有应用的广泛性与实际实验的高度技术性的特点,是一门与计算机使用密切结合的实用性很强的数学课程.主要介绍插值法、函数逼近与曲线拟合、线性方程组迭代解法、数值积分与数值微分、非线性方程组解法、常微分方程数值解以及矩阵特征值与特征向量数值计算,并特别加强实验环节的训练以提高学生动手能力。通过本课程的学习,不仅能使学生初步掌握数值计算方法的基本理论知识,了解算法设计及数学建模思想,而且能使学生具备一定的科学计算能力和分析与解决问题的能力,不仅为学习后继课程打下良好的理论基础,也为将来从事科学计算、计算机应用和科学研究等工作奠定必要的数学基础。 科学计算是21世纪高层次人才知识结构中不可缺少的一部分,它潜移默化地影响着人们的思维方式和思想方法,并提升一个人的综合素质。

数值计算方法实验5

实验报告 学院(系)名称: 主程序部分列选主元部分

实验结果: 一.列主元消去法 输入各个数据,最终使用列选主元法,得到结果为:x1=x2=x3=1二.高斯-赛德尔迭代法 输入各个数据,输出每一步迭代数据,最终结果为:x1=0.285716,附录(源程序及运行结果) 一.列主元高斯消去法 #include #include void print(double a[3][3],int n,double b[3]){ printf("输出矩阵:\n"); for(int i=0;ifabs(d)){ d=a[i][k]; l=i; } i++; } printf("选出主元:%lf\n",d); if(d==0) printf("矩阵奇异!\n"); else if(l!=k){ for(int j=k;j

现代数值分析复习题

复习题(一) 一、填空题: 1、求方程0.5x2 101x 1 0的根,要求结果至少具有6位有效数字。已知 V10203 101.0099,贝卩两个根为x1 _____________________________ , X2 ________________________________ .(要有计算过程和结果) 4 1 0 A A 1 4 1 2、0 1 4,则A的LU分解为。 1 2 A 3、 3 5,贝卩(A) ____________ ,A __________ . 4、已知f(1)「Q f(2)「2,f(3) =3,则用抛物线(辛卜生)公式计算求 3 得1 f(x)dx -------------------- ,用三点式求得f (1) ________________ . 5、f(1) 1,f(2) 2,f(3) 1,则过这三点的二次插值多项式中x2的系数 为_____ ,拉格朗日插值多项式为 _________________________ . 二、单项选择题: 1、Jacobi迭代法解方程组Ax b的必要条件是( ). A. A的各阶顺序主子式不为零 B. (A) 1 C a ii 0,i 1,2, ,n D|| A 1 2、设f(x) 3x99 5x 7,均差f[1,2,22, ,299]=(). D. 3

4、三点的高斯求积公式的代数精度为 ( ). A.3 B. -3 C. 5 D.0 2 2 3 A 0 5 1 3、设 0 0 7 ,则 (A )为( ). A. 2 B. 5 C. 7

分别用拉格朗日插值法和牛顿插值法求 f (x )的三次插值多项式P 3(x ),并 求f (2)的近似值(保留四位小数). 4、 取步长h 0.2,用预估-校正法解常微分方程初值问题 y 2x 3y y (0) 1 (0 x 1) 5、 已知 A. 2 B.5 C. 3 D. 4 5、幕法的收敛速度与特征值的分布 A.有关 B.不一定 C. 无关 三、计算题: 1、用高斯-塞德尔方法解方程组 4X ! 2X 2 X 3 11 X 1 4X 2 2X 3 18 2X ! X 2 5X 3 22 (°) /c c c\T ,取 x (°,°,°),迭 四次(要求按五位有效数字计算 ). 1 2、求A 、B 使求积公式 1 f (X )dX A[f( 1) f (1)] 1 B [f (2)f (2)] 的代数精 度尽量高,并求其代数精度;利用此公式求 I 21dx 1 x (保留四位小 数)。 3、已知

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

数值分析第二章上机题之第二题

姓名:蒋元义、学号:、专业:测绘工程 一、在区间[-1,1]上分别取10,20n =用两组等距节点对龙格函数2 1 ()125f x x =+作多项式插值及三次样条插值,对每个n 值,分别画出插值函数即()f x 的图形。 解: 当N=10时,代码及图像如下: x=-1:0.2:1; y=1./(1+25*x.^2); x1=linspace(-1,1,10); p=interp1(x,y,x1,'linear'); p1=interp1(x,y,x1,'spline'); plot(x,y,'b'); hold on plot(x1,p,'r'); hold on plot(x1,p1,'k'); legend('龙格函数','多项式插值函数','三次样条插值函数'); grid on; title('N=10的插值函数及原函数图形'); xlabel('x 轴'); ylabel('y ‘轴');

当N=20时,代码及图像如下: x=-1:0.2:1; y=1./(1+25*x.^2); x1=linspace(-1,1,20); p=interp1(x,y,x1,'linear'); p1=interp1(x,y,x1,'spline'); plot(x,y,'b'); hold on plot(x1,p,'r'); hold on plot(x1,p1,'k'); legend('龙格函数','多项式插值函数','三次样条插值函数'); grid on; title('N=20的插值函数及原函数图形'); xlabel('x轴'); ylabel('y轴');

数值分析实验报告总结

数值分析实验报告总结 随着电子计算机的普及与发展,科学计算已成为现代科 学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。 算法算法是指由基本算术运算及运算顺序的规定构成的完 整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。 误差 计算机的计算结果通常是近似的,因此算法必有误差, 并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表 第三章泛函分析泛函分析概要 泛函分析是研究“函数的函数”、函数空间和它们之间 变换的一门较新的数学分支,隶属分析数学。它以各种学科

如果 a 是相容范数,且任何满足 为具体背景,在集合的基础上,把客观世界中的研究对象抽 范数 范数,是具有“长度”概念的函数。在线性代数、泛函 分析及相关的数学领域,泛函是一个函数,其为矢量空间内 的所有矢量赋予非零的正长度或大小。这里以 Cn 空间为例, Rn 空间类似。最常用的范数就是 P-范数。那么 当P 取1, 2 ,s 的时候分别是以下几种最简单的情形: 其中2-范数就是通常意义下的距离。 对于这些范数有以下不等式: 1 < n1/2 另外,若p 和q 是赫德尔共轭指标,即 1/p+1/q=1 么有赫德尔不等式: II = ||xH*y| 当p=q=2时就是柯西-许瓦兹不等式 般来讲矩阵范数除了正定性,齐次性和三角不等式之 矩阵范数通常也称为相容范数。 象为元素和空间。女口:距离空间,赋范线性空间, 内积空间。 1-范数: 1= x1 + x2 +?+ xn 2-范数: x 2=1/2 8 -范数: 8 =max oo ,那 外,还规定其必须满足相容性: 所以

数值分析第二章小结

第2章线性方程组的解法 --------学习小结 一、本章学习体会 通过本章知识的学习我首先了解到求解线性方程组的方法可分为两类:直接法和迭代法。计算机虽然运行速度很快,但面对运算量超级多的问题,计算机还是需要很长的时间进行运算,所以,确定快捷精确的求解线性方程组的方法是非常必要的。 本章分为四个小节,其中前两节Gauss消去法和直接三角分解法因为由之前《线性代数》学习的一定功底,学习起来还较为简单,加之王老师可是的讲解与习题测试,对这一部分有了较好的掌握。第三节矩阵的条件数与病态方程组,我 Ax 的系数矩阵A与左端向量b的元素往往是通首先了解到的是线性方程组b 过观测或计算而得到,因而会带有误差。即使原始数据是精确的,但存放到计算机后由于受字长的限制也会变为近似值。所以当A和b有微小变化时,即使求解过程精确进行,所得的解相对于原方程组也可能会产生很大的相对误差。对于本节的学习掌握的不是很好,虽然在课后习题中对课堂知识有了一定的巩固,但整体感觉没有很好的掌握它。第四节的迭代法,初次接触迭代法,了解到迭代法就是构造一个无线的向量序列,使他的极限是方程组的解向量。迭代法应考虑收敛性与精度控制的问题。三种迭代方法的基本思想我已经掌握了,但是在matlab 的编程中还存在很大的问题。 在本节的学习中我认为我最大的问题还是程序的编写。通过这段时间的练习,虽然掌握了一些编写方法和技巧。相比于第一章是对其的应用熟练了不少,但在程序编写上还存在很多问题。希望在以后的学习中能尽快熟练掌握它,充分发挥它强大的作用。 二、本章知识梳理

2.1、Gauss 消去法(次重点) Gauss 消去法基本思想:由消元和回代两个过程组成。 2.1.1顺序Gauss 消去法(对方程组的增广矩阵做第二种初等行变换) 定理 顺序Gauss 消去法的前n-1个主元素) (k kk a (k=1,2,```,n-1)均不为零的充分必要条件是方程组的系数矩阵A 的前 n-1个顺序主子式 )1,,2,1(0)1()1(1 ) 1(1)1(11-=≠=n k a a a a D kk k k K ΛΛM M Λ 消元过程:对于 k=1,2,···,n-1 执行 (1)如果 ,0)(=a k kk 则算法失效,停止计算,否则转入(2) 。 (2)对于i=k+1,k+2,···n,计算 a a k kk k ik k i m )() (,= n k j i m a a a k kj ik k ij k ij ,,1,,) ()() 1(Λ+=-=+ n k i m b b b k k ik k i k i ,,1,) ()() 1(Λ+=-=+ 回代过程: a b x n nn n n n ) () (/= ) (1,,2,1/)() (1 )() (?--=- =∑+=n n k a x a b x k kk j n k j k kj k k k 2.1.2 列主元素Gauss 消去法(把) (n k k i a k kj ,,1,) (?+=中绝对值最大的元素交换到第k 行的主对角线位置)(重点) 定理 设方程组的系数矩阵A 非奇异,则用列主元素Gauss 消去法求解方程组时,各个列主元素a (k=1,2,```,n-1)均不为零。 消元过程:对于 k=1,2,···,n-1 执行 (1)选行号k i ,使 )()(max k i n i k k k i k k a a ≤≤=。 (2)交换A 与b 两行所含的数值。 (3)对于i=k+1,k+2,···n,计算

现代数值计算方法

吉林大学研究生公共数学课程 教学大纲 课程编号: 课程名称:现代数值计算方法 课程英文名称:Modern numerical method 学时/学分:64/3(硕士)/32/2(博士) 课程类别:研究生公共课程 课程性质:必修课 适用专业:理、工、经、管等专业 开课学期:第Ⅰ或第Ⅱ学期 考核方式:考试(闭卷) 执笔人:李永海 制定日期:2011年5月

吉林大学研究生公共数学课程教学大纲 课程编号: 课程名称:现代数值计算方法 课程英文名称:Modern numerical method 学时/学分:64/3(硕士)/32/2(博士) 课程类别:研究生教育课程 课程性质:必修课 适用专业:理、工、经、管等专业 开课学期:第Ⅰ或第Ⅱ学期 考核方式:考试(闭卷) 一、本课程的性质、目的和任务 本课程属于非数学类研究生数学公共基础课程之一,数值计算方法作为一种基本的数学工具,在数学学科与其他科学技术领域诸如力学、电磁学、化学、生物、系统工程等学科都有广泛应用。电子计算机及计算技术的发展也为数值计算方法的应用开辟了更广阔的前景。因此,学习和掌握现代数值计算方法,对于将来从事工程技术工作的工科研究生来说是必不可少的。通过该门课程的学习,期望学生能深刻地理解现代数值计算方法的基本知识和数学思想,掌握有关的计算方法及技巧,提高学生的数学素质,提高科研能力,掌握现代数值计算方法在物理、电子、化学、生物、工程等领域的许多应用。 二、本课程教学基本要求 1. 线性代数方程组直接法 理解线性代数方程组直接法求解算法原理,了解算法收敛性结果;理解算法应用条件;掌握用软件实现一般线性代数方程组直接法的求解步骤。 2. 线性代数方程组迭代法 理解线性代数方程组迭代法求解算法原理,了解算法收敛性结果;理解算法应用条件;掌握用软件实现一般线性代数方程组迭代法的求解步骤。 3. 矩阵特征值与特征向量计算 理解乘幂法和反幂法算法原理,了解实对称矩阵的Jacobi方法;理解算法应用条件;掌握用软件实现一般矩阵特征值与特征向量计算。 4. 非线性方程(组)求根 理解二分法和牛顿法原理,了解解非线性方程组的牛顿法和拟牛顿法;理解算法应用条件;掌握用软件实现非线性方程(组)求根计算。 5. 函数插值 理解一般函数插值公式原理,了解三次样条插值;理解算法应用条件;掌握用软件实现函数插值计算。 6. 数值积分

相关文档
最新文档