第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4...

41
第4章 插值方法(2)

Upload: others

Post on 21-Mar-2020

36 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

第4章 插值方法(2)

Page 2: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

1. Lagrange插值方法回顾

0 0 1 1( ) ( ) ( ) ( ) ( ) ... ( ) ( )n n nL x f x l x f x l x f x l x

0

( )n

ij

i j ij i

x xl x

x x

0 1 1 1, , , , , , ,j j j nx x x x x x x

0, 0, , 0, 1, 0, , 0y

Page 3: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

误差估计

)()!1(

)()()()(

)1(

xn

fxLxfxR

n

nn

Page 4: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

罗尔定理

1 2 1 2( ) ( ) 0 ( )f x f x x x 1 1 1 2( ) 0 ( )f x x

1x 2x1

Page 5: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

0 1 2 3 4 5 6 3 2 1n n n nx x x x x x x x x x x x

xxxxt n ,,..., 10 F(t)=0

(1) (1) (1) (1) (1) (1) (1) (1) (1) (1)0 1 2 3 4 5 3 2 1n n n n F’(t)=0

(2) (2) (2) (2) (2) (2) (2) (2)0 1 2 3 4 3 2 1n n n F”(t)=0

F(n+1)(t)=0

)()()()()( txktLtftF n

Page 6: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

问题:高于 n 阶的多项式情况如何?

4( )f x x

求插值节点为 -1, 0, 1, 2 的三次多项式

Page 7: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

• Langrange插值也有其不足: 为了提高精度有时

需增加结点,原来的数据不能利用,浪费资源

Page 8: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

Aitken和Neville插值方法

Page 9: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

Aitken和Neville插值方法

Page 10: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

Aitken和Neville插值方法

Page 11: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

Aitken和Neville插值方法

Page 12: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

)()(!

)(...

)(!2

)()(

!1

)()()(

Lagrange

00

)(

2

00

''

00

'

0

xRxxn

xf

xxxf

xxxf

xfxf

Tarlor

n

nn

展式计算近似值:

想到插值法的缺点,使我们由于

Newton插值法

Page 13: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

0

0 00

0 0

( )

( ) ( ) ( ) ( )( ) lim

x x

f x

f x f x f x f xf x

x x x x

要想提高精度只要增加项数即可,以前的

数据仍然有用,而上式就是求 得导数:

由此引入插商的概念。

Page 14: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

差商及其性质

],[)()(

],[)()(

],[)()(

12

12

12

01

01

01

ji

ji

jixxf

xx

xfxf

xxfxx

xfxf

xxfxx

xfxf

一般地,一阶差商:

由导数的概念引入:

Page 15: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

0 1 1 20 1 2

0 2

0 1 1 1 20 1 2 1

0

[ ] [ , ][ , , ]

[ , ] [ , ][ , , ]

[ , ,... ] [ , ,..., ][ , , ,... , ]

i j j k

i j ki k

n nn n

n

f x x f x xf x x x

x x

f x x f x xf x x x

x x

n

f x x x f x x xf x x x x x

x x

二阶差商是一阶差商的差商

一般地,二阶差商:

阶差商为:

Page 16: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

0 1

0 1

0

0 1

1 [ , ,..., ]

( ) ( 0,1, 2,..., )

( )[ , ,..., ]

( )

( ) ( )( )....( )

n

j

nj

n

j n j

n n

n f x x x

f x j n

f xf x x x

x

x x x x x x x

性质 阶差商 可以表示为

函数值 的线性组合,即

其中

0 1 1 1( ) ( )( )...( )( )...( )n j j j j j j j nx x x x x x x x x x x

Page 17: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

0 1 1 20 1 2

0 2

[ , ] [ , ][ , , ]

f x x f x xf x x x

x x

0 1 1 2

0 2 0 1 1 2

1 ( ) ( ) ( ) ( )f x f x f x f x

x x x x x x

0 21

0 2 0 1 0 1 1 2 1 2

1 ( ) 1 1 ( )( )

f x f xf x

x x x x x x x x x x

0 1 2

0 1 0 2 1 0 1 2 2 0 2 1

( ) ( ) ( )

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

f x f x f x

x x x x x x x x x x x x

Page 18: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

差商的性质

性质 2 差商与节点排列顺序无关,即

0 1 0 1[ , , , ] [ , , , ]ni i i nf x x x f x x x

其中,0 1, , , ni i i 是 0,1,…,n 的任意一种排列

性质 3 若 ( )f x 是 x 的 m 次多项式,则0[ , ]f x x 是 x 的 m-1 次多项

式; 0 1[ , , ]f x x x 是 x 的 m-2 次多项式

Page 19: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

由差商定义

00

0

( ) ( )[ , ]

f x f xf x x

x x

0 0 0( ) ( ) ( ) [ , ]f x f x x x f x x (1)

0 0 10 1

1

[ , ] [ , ][ , , ]

f x x f x xf x x x

x x

0 0 1 1 0 1[ , ] [ , ] ( ) [ , , ]f x x f x x x x f x x x (2)

Page 20: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

)4(],,,[)(],,[],,[

],,,[],,[],,[

)3(],,[))((

],[)()()(

1)2(

210221010

210

2

21010

2

1010

1000

xxxxfxxxxxfxxxf

xxxxfxx

xxxfxxxf

x

xxxfxxxx

xxfxxxfxf

,则点为了提高精度,增加节

)式得:式代入(

Page 21: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

4 式代入 3 式得:

𝑓 𝑥 = 𝑓 𝑥0 + 𝑥 − 𝑥0 𝑓 𝑥0, 𝑥1 + 𝑥 − 𝑥0 𝑥 − 𝑥1 𝑓[𝑥0, 𝑥1, 𝑥2]+ 𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 𝑥2 𝑓[𝑥, 𝑥0, 𝑥1, 𝑥2]

一般的,在节点𝑥0, 𝑥1, 𝑥2, … , 𝑥𝑛上有

Page 22: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

插值公式和余项。

上的在节点分别为、其中 Newton}{)()()(

)()(

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

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

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

0

10110

110110

210101000

n

inn

nn

nnn

nn

xxfxRxN

xRxN

xxxxfxxxxxxxx

xxxfxxxxxx

xxxfxxxxxxfxxxfxf

Page 23: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

)()()(

)()(

],[)()(

}],[],[

)(],[){()(

]},,[)(],[){()()(

)()()(

)()(

],[)()()(

)()(

2

02

02020

02020

12

10021210020

21012100202

1

01

01010

100101

00

xfxx

xfxfxxxf

xxfxxxf

xx

xxfxxfxxxxfxxxf

xxxfxxxxfxxxfxN

xfxx

xfxfxxxf

xxfxxxfxN

xfxN

n

n

n

可以验证:

Page 24: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

类似地可以证明𝑁𝑛 𝑥𝑖 = 𝑓 𝑥𝑖 𝑖 = 0,1,2,… , 𝑛

由插值的唯一性知:𝑁𝑛 𝑥 = 𝐿𝑛 𝑥 ,因此他们的余项相等

即:𝜔 𝑥 𝑓[𝑥, 𝑥0, 𝑥1, … , 𝑥𝑛] =𝑓 𝑛+1 𝜉

𝑛+1 !𝜔(𝑥)

故有差商与导数的关系

𝑓 𝑥, 𝑥0, 𝑥1, … , 𝑥𝑛 =𝑓 𝑛+1 𝜉

𝑛 + 1 !𝜔 𝑥

其中,𝜉介于𝑥, 𝑥0, 𝑥1, … , 𝑥𝑛的最大值与最小值之间。

Page 25: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

Newton插值计算

• 插商表1

0 1

1

00 1

[ , ] [ , ][ , , ]

n

nn

f x x f x xf x x x

x x=

-

- 0 1 0 1 20 1 2

2

[ , , ] [ , , ][ , , , ]n

n

nf x x x f x x xf x x x

x xx

-

-=

Page 26: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

插商表2

kx )( kxf 一阶差商 二阶差商 三阶差商 n 阶差商 单元号

0x )( 0xf F(0)

1x )( 1xf 0 1[ , ]f x x

F(1)

2x )( 2xf 1 2[ , ]f x x

0 1 2[ , , ]f x x x F(2)

3x )( 3xf 2 3[ , ]f x x

1 2 3[ , , ]f x x x F(3)

nx )( nxf 1[ , ]n nf x x

2 1[ , , ]n n nf x x x

3 2 1[ , , , ]n n n nf x x x x 0 1[ , , , ]nf x x x F(n)

2 3 1 21 2 3

3 1

[ , ] [ , ][ , , ]

f x x f x xf x x x

x x=

-

- 2 1

2

12 1

[ , ] [ , ][ , , ]

n n n nn n n

n n

f x x f x xf x x x

x x

- -- -

-

-=

-

-

Page 27: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

4 0 0 0 1 0 1 0 1 2( ) ( ) ( ) [ , ] ( )( ) [ , , ]N x f x x x f x x x x x x f x x x

0 1 2 0 1 2 3( )( )( ) [ , , , ]x x x x x x f x x x x

0 1 2 3 0 1 2 3 4( )( )( )( ) [ , , , , ]x x x x x x x x f x x x x x

0 0 0 1 1 0 1 2( ) ( )( [ , ] ( )( [ , , ]f x x x f x x x x f x x x

2 0 1 2 3( ) [ , , , ]))x x f x x x x (4.2.3)

Page 28: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

例题

x 0.40 0.55 0.65 0.80 0.90 1.05

f(x) 0.4107 0.57815 0.69675 0.88811 1.02652 1.25386

例:设函数 y=f(x)在各节点的取值如下

表所示,试计算各阶差分值。

Page 29: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

• 在实际应用中 ,常是等距节点情况,即

这里h>0为常数,称为步长,这时Newton插值

公式就可以简化,为此我们引入差分概念。

),...,2,1,0( niihaxi

定义: 设函数 f(x)在等距节点ix a ih (i=0,1,2,…,n)上值

为 ( )i if f x ,则

等距节点Newton插值公式

Page 30: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

(1)称1i i if f f (i=0,1,2,…,n)为函数 f(x)在点 0{ }n

ix 上的一

阶向前差分(简称差分);又称 1 1

1

k k k

i i if f f

(k=1,2,…,n;i=0,1,…,n-k)为函数 f(x)在点 0{ }n

ix 上的 k 阶向

前差分,这里约定 0{ }n

ix ;

(2) 称 1 iii fff (i=n,n-1,…,1)为函数 f(x)在点1i i if f f 上的后

差分;又称 1 1

1

k k k

i i if f f

(k=1,2,…,n; i=n-k+1,…,2,1)为

函数 f(x)在点 0{ }n

ix 上的 k 阶向后差分,同样约定 0

i if f 。

Page 31: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

等距节点Newton插值公式

• 插商与差分的关系

(1)用前插表示N(x)

在等距节点条件下有:

0

01

0110

1)()(],[ f

hxx

xfxfxxf

Page 32: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

010

0

2

2

01

02

1021210

!

1],...,,[

!2

1

2

11

]),[]),[],,[

fhn

xxxf

fhh

fh

fh

xx

xxfxxfxxxf

n

nn

一般有

Page 33: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

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

)(

!

)1)...(1(...

!2

)1(

!1

)()(

,

00

)1(1

00

2

00

0

0

hxxfntttn

hxR

fn

ntttf

ttf

tf

thxNxN

Newtonthxx

nn

n

n

nn

式插值公式和余式具有形则若令

Page 34: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

(2)用后插表示N(x)

0 1 1 0

1

1 1 2

1 1 1 1 0

, ,..., , ,... ,

( ) ( ) ( ) [ , ]

( )( ) [ , , ] ...

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

n n n

n n n n n

n n n n n

n n n n

x x x x x x

Newton

N x f x x x f x x

x x x x f x x x

x x x x x x f x x x x

如果将节点 倒排序为:

则 插值公式为:

同样有:

Page 35: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

n

n

nnn

n

nn

nn

nnnnnnn

n

nn

nnnn

fhn

xxxxf

fhh

fh

fh

xx

xxfxxfxxxf

fhxx

xfxfxxf

!

1],,...,,[

!2

1

2

11

],[],[],,[

1)()(],[

011

2

2

1

2

21121

1

11

一般有

Page 36: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

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

)(

!

)1)...(1(...

!2

)1(

!1)()(

)0(

)1(1

2

nn

nn

n

n

n

nnnnnn

n

xnhxfnsssn

hxR

fn

nsss

fss

fs

fshxNxN

sshxx

则一般取若令

Page 37: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

例题

例:设函数 y=f(x)在各节点的取值如下

表所示,试计算各阶差分值。

解:列差分表如下

x 0 0.2 0.4 0.6 0.8 1.0

f(x) 1 0.818 731 0.670 320 0.548 812 0.449329 0.367 879

Page 38: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

x f(x) 2 3

4 5

0 1 -0.181 269 0.032 858 -0.005 955 0.001 077 -0.000 191

0.2 0.818 731 -0.148 411 0.026 903 -0.004 878 0.000886

0.4 0.670 320 -0.121 508 0.022 025 -0.003 992

0.6 0.548 812 -0.099 483 0.018 033

0.8 0.449 329 -0.081 450

1.0 0.367 879

Page 39: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

例题

试用Newton插值公式计算sin 𝒙在𝑥 = 𝜋/12处的近似值。

已知sin(0), sin𝝅

𝟔, sin(

𝝅

𝟒) , sin(

𝝅

𝟑) , sin(

𝝅

𝟐) 的函数值。

Page 40: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

列差商表

f(x)=sin x 关于节点0, , , ,6 4 3 2

的差商表

kx ( )kf x 一阶差商

二阶差商

三阶差商

四阶差商

0

0

6

1

2

0.954 929 658

4

2

2

0.791 089 691

-0.208 607 6

3

3

2

0.607024424 -0.351 538 65 -0.136 489 09

2

1 0.255 872 63 -0.447 100 35 -0.091 254 70 0.028 797 106

Page 41: 第4章 插值方法(2) · 2019-11-05 · 问题:高于n 阶的多项式情况如何? fx x() 4 求插值节点为-1,0,1,2 的三次多项式

258587908.0

)))028797106.0)312

(13648909.0)(412

(

2086076.0)(612

(954929658.0)(012

(0)12

(4

N

真值 0.2588190451