Ộ
Ụ
B MÔN TOÁN NG D NG - ĐHBK Ứ -------------------------------------------------------------------------------------
PHƯƠNG PHÁP TÍNH – SV
CHƯƠNG 5
GI I PHẢ
ƯƠNG TRÌNH VI PHÂN THƯ NG Ờ
•
TS. NGUY N QU C LÂN (5/2006) Ố
Ễ
Ộ
N I DUNG ---------------------------------------------------------------------------------------------------------------------------
A- BÀI TOÁN CÔSI (GIÁ TR Đ U) Ị Ầ
1 – PHƯƠNG PHÁP EULER
2 – EULER C I TI N + RUNGE – KUTTA
Ả Ế
3 – H PHỆ ƯƠNG TRÌNH VI PHÂN THƯ NGỜ
4 – PHƯƠNG TRÌNH VI PHÂN C P CAO
Ấ
B- BÀI TOÁN BIÊN
1- PHƯƠNG PHÁP SAI PHÂN H U H N
Ữ Ạ
BÀI TOÁN CÔSI ---------------------------------------------------------------------------------------------------------------------------
Tìm hàm y = y(t) tho phả ương trình vi phân thư ng & ờ
= £ £ đi u ki n ệ đ uầ ề (cid:236) y ' ), ta b
(cid:237) f yt ,( = a (cid:238) ay )(
Gi i x p x : Chia [a, b] thành n đ dài h ả ấ ỉ đo n b ng nhau, ằ ạ ộ
= (b – a)/n, (n + 1) đi m chia ể t0 = a < t1 = a + h < … < tn = b
y1 = ? y0 = a
h b a
a = t0 t1 t2 b = tn
n C n ầ tính g n ầ đúng giá tr ị wk » yk = y(tk), k = 1 fi
MINH HO Ý TẠ Ư NGỞ
----------------------------------------------------------------------------------------------------------------------------------------
2
(cid:236) + + -= £ t 5 t 0,2 t ' y y
(cid:237) Bài toán Côsi: V i bớ ư c chia h = ớ
(cid:238) 5 = 31)0( y
+ - ) ( xf 0 ( xf 0 » f (' & công th c x p x ứ ấ ỉ đ o hàm 2 ạ đi m:ể 0.5 ) x 0 ) h h
hãy tính x p x nghi m y t i t = 0.5, t = 1. ệ ấ ỉ ạ
T ừ đó xây d ng ự đa th c n i suy Lagrange (spline) y ứ ộ
gđ và v ẽ
2
5 te
+ t đ th so sánh v i nghi m chính xác g(t) = ồ ị ớ ệ 1 - 3
Đi m chia: ể
2
0
1
=t .1 =t 0 5.0
2
-= + + y 5.0 y = 2 at bt c tìm K t ế qu ả
( (
gñ.Lagrang e t 42.6
=t ) 5.0 ) = = + - (cid:222) 0.1 y 875.1 87.4 t 33.0 ygñ đư c:ợ
Ồ Ả Ấ Ỉ
Ư NGỜ CÁC SƠ Đ GI I X P X PTRÌNH VPHÂN TH -------------------------------------------------------------------------------------------------------------------------------
fi n – 1) Sơ đ Euler (i = 0
[
ồ a = (cid:222) . ñaõ bieát = ˛ (cid:236) ba , y '
+ 1
(cid:237) = Giaû + Btoán Côsi: Tìm y(t) ] f tyt ,( ), a = ) (cid:238) ay )( w 0 w i w söû i wthf ,( i i w i
i
n đo n ạ fi S/đ Euler c i ti n (i = 0 n – 1) ả ế - = += a ih h t , = a (cid:222) . Giaû ñaõ w 0
i
= w söû i = bieát + + thf ( , ) ), kwh i 1 n Chia [a, b] fi ab n Tính wi, i = 0 fi
2 k
+ 1
i k 1
2
kwthf ,( i = + + ( 2) k 1 w i w i
i
= + = (cid:236) h ), )2
i h
4
i
i
3
(cid:239) = kwthf + + (cid:237) k 1 k ( k ) + kw ,2 i 1 = kwthf , + 1 .
i +
2 2
3 w i
+ 1
2
3
4
(cid:239) ,( i thf ( = ),2 + thf ( 2 + kw ,2 i + + k 2 ( k k 6) (cid:238) w i k 1 Gi Sơ đ Runge – ồ Kutta: w0 = a ả ử ế i (cid:222) s bi t w
VÍ D PHỤ ƯƠNG PHÁP EULER --------------------------------------------------------------------------------------------------------------------------------
2
B ng p/pháp Euler, gi đo n chia: ằ ả ớ ạ
(cid:236) i bài toán Côsi v i n = 3 -= + £ £ 0,1 1 t y ' (cid:237)
(cid:238) y ty = 5.0)0(
1
So sánh nghi m x p x v i nghi m g(t) = (t+1) ỉ ớ ệ ệ ấ
I ty )( dt T ừ đó tính x p x tích phân b ng c/t hình thang: ấ ỉ ằ
2 – 0.5et. (cid:242)=
0
Gi i: f(t,y) = y – t
2 + 1
3, wt 3
0
0
1, wt 1
2, wt 2
ả = t = w ,0 5.0
h = (b–a)/n = 1/3
= (cid:236) 5.0 w 0
(cid:237) Sơ đ Euler: ồ
+ 1
2 i
= + = + + - ) (2.0 )1 (cid:238) w i w i wthf ,( i i w i tw i
K T QU PH Ả ƯƠNG PHÁP EULER Ế
-----------------------------------------------------------------------------------------------------------------------------
i
wi
gi = g(ti )
| gi - wi |
ti
0.5
0.5
0
0
0
1
1/3
2
2/3
3
1.
B ng k t qu : ả ế ả
1
[
]
]
[
)
Tính g n ầ đúng tích phân v i công th c hình thang ứ ớ
)
)
)
( ty
( ty
( ty
0
( ty 1
2
3
2
0
+ + + + + » » ty )( dt 2 2 2 2 (cid:242) w 0 w 1 + ww 3 h 2
h 2 .1= 3528807
Ụ Ả
2
VÍ D EULER C I TI N Ế --------------------------------------------------------------------------------------------------------------------------------
(cid:236) + -= £ £ Tính y(1.) c a bt Côsi sau b ng ủ ằ 0,1 t 1 ' y (cid:237)
2
(cid:238) ty = 5.0)0( y SĐ Euler c i ti n v i h = 0.5: ả ế ớ
-= + = f yt ,( ) ty ,1 h 5.0
0
2 , wt 2
= = = = a ,0 5.0 t ,5.0 ? t 1 w 1
2
i
2
i
+ 1
+ k k 1 = = + + = + fi kwthf ,) thf ( , ) k 1 ,( i kwh i 1 w i w i 2
i k1 k2
0 ti 0.0 wi 0.5 0.75 1.0
1 0.5 1.375 1.0625 1.21875
2 1.0 2.515625
2
Ụ
(cid:236) VÍ D RUNGE – KUTTA -------------------------------------------------------------------------------------------------------------------------------- + 1 y ' t
(cid:237) Tính y(1.) b ng Runge – Kutta v i h = 0.5 ớ ằ
(cid:238) -= y = 5.0)0( y
i
2
i
(cid:236) = = + + kwthf ,) thf ( ) , k 1 ,( i w i (cid:239) Runge –
3
i
i
4
3
2 k
2
3
4
+ 1
(cid:239) = + = + + (cid:237) k thf ( h k 1 2 thf ( , ) kwh i Kutta 4: wi (cid:239) ,2 + + kw i + h 2 k ,)2 + 2 2 k k k 1 fi (cid:239) = + wi+1 w i w i (cid:238) 6
i k2 ti wi k1 k3 k4
0 0.0 0.5 75.0 .0 90625 .0 9451325 .1 0976563
1 0.5 .1 0875651 .1 2032064 .1 2331167 .1 3286235 .1 4251302
2 1.0 .2 6396027
H PHỆ ƯƠNG TRÌNH VI PHÂN THƯ NGỜ ----------------------------------------------------------------------------------------------------------------------------------
Bài toán Côsi : Tìm hai hàm u1 = u1(t), u2 = u2(t) thoả
2
1
(cid:236) = £ £ ), ta b f 1 uut ,( , 1 (cid:239) = a (cid:236)
2
2
2
(cid:237) (cid:237) & Ñieàu kieän ñaàu = a (cid:238) au )( 1 au )( 2 (cid:239) = £ £ f ), ta b uut ,( , 1 (cid:238) du 1 dt du 2 dt
Chia [a, b] thành đo n b ng nhau: Phân ho ch & r i r c hoá ờ ạ ạ
0 w 1
2
1
1 1 1 , ww 2
= a
2
)
( ) =tu
2 1
2 2
( tu 1 1
1
2
+=
ha
+= a
2
h
t
0ta =
t 1
2
a ạ ằ = a 0 w , 2 1, a =ww , ? , ?
i wtuw ( 2 1
i 1
i
i
0 wwBieát 2
0 1
i wwtính 2
i , 1
(cid:222) ‡ » » ), ), i 0 , ? Ký hi u:ệ tu ( 2
MINH HO Ý TẠ Ư NGỞ
----------------------------------------------------------------------------------------------------------------------------------------
2
2
t
Xét bài toán Côsi v i h ph
)
(cid:236) + ớ ệ ương trình vi phân thư ng:ờ ( + - u 2
) 1
2
2
2
t
e t 2 0 u 1 (cid:237)
( (
2
2
2
, ) + = ( 1 ) + + = - (cid:238) u 1 u u 0 t t 2 4 e , u 1 = u 3' 1 = u 4' 1
i t = 0.5; 1 V i bớ ư c chia h = 0.5, tính x p x nghi m u ấ ỉ ớ ệ ạ
1, u2 t
ị ợ ớ ệ
5
t
2
5
t
t
t
t
t
)
22 et
( tu 2
- - = ị ) + + = + - e e e e e ; So sánh giá tr tính ( tu 1 1 3 đư c v i giá tr nghi m chính xác: 1 3 1 3 2 3
0
1
2
=t 0 =t 5.0 =t .1 t Đi m chia: ể
u1 1 u2 1 0
( (
( (
) )
= = 0.5 0 ? 5.0 ?
) = 1 ) 1 =
) ( 1 ) ( 1
2
2
2
= = 1.0 u 1 u 0 u 1 u ? 5.0 u 1 u ?
Ồ
SƠ Đ EULER ----------------------------------------------------------------------------------------------------------------------------------
Bài toán Côsi : Tìm hai hàm u1 = u1(t), u2 = u2(t) thoả
2
1
(cid:236) = £ £ ), ta b f 1 uut ,( , 1 (cid:239) = a (cid:236)
2
2
2
(cid:237) (cid:237) & Ñieàu kieän ñaàu = a (cid:238) au )( 1 au )( 2 (cid:239) = £ £ f ), ta b uut ,( , 1 (cid:238) du 1 dt du 2 dt
( iww
i 2
0 w 1
1
2
+ 1
= a = - , , n S/đ Euler: ồ
)1 )i
0 w 2 +
i bieát 1 =
i w 1
i w 1
i , wwthf 2 i
i 1
1
+ 1 i w 2
i w 2
2
i 1
a ( Giaû söû ) fi= 0 ( = + , , , , wwthf 2 i
2
t
1
(cid:236) a = = (cid:236) 1 1 (cid:236)
(
(
)
(
= - 0 1 , (cid:222) (cid:222) u 1 u 1 (cid:237) (cid:237) e (cid:239) a = (cid:238) 1 (cid:239) (cid:238) + = 3' u 2 u 1 2 f 1
) + 2 2 t 1 ) , 2
2
2
t
(
)
2 +=
2
2
2
(cid:237) VD: = - u , u 0 1 5.01 (cid:239)
(
(cid:239) (cid:238) , uut 1 + + = u u 4' 1 f
) + t e 4 2 ) ,
2
( t , uut 1
2
0 w 1 = 0 1 w 2 ( ) = 1,1,0 ( ) =
2
1 w 1 1 w 2
+= 5.01 1,1,0 f 1 f
ÁP D NG : PH Ụ ƯƠNG TRÌNH VI PHÂN C P 2Ấ
----------------------------------------------------------------------------------------------------------------------------------
Bài toán Côsi c p 2 (Ph/trình vi phân c p 2 và ấ ấ đki n ệ đ u):ầ
‡ (cid:236) , a
)
) ( yytf , ,' ( = a ay '
1
2
(cid:237) = ) t = a (cid:238) y " ( ay ,
Đưa v bài toán Côsi c p 1: ề ấ
= (cid:236) ' u
) =
)
(
)
2 '
2 y ''
2
2
2
(cid:237) = = (cid:238) ổ ế 1(t)= y(t), u2(t)=y’(t) Đ i bi n u ( = f 1 ( yytf , uut , , 1 , f ' u 1 u uut , , 1
)
1
1
= a (cid:236) = a (cid:236)
) )
( au 1 ( au 2
2
0 w 1 0 w 2
2
(cid:222) (cid:237) (cid:237) Đi u ki n ệ đ u:ầ ề = = ) = a = a (cid:238) (cid:238)
0 1
1
1
2
(cid:236) = + = a + a ,
(cid:237) Sơ đ Euler: ồ
) )
( ay ( ay ' ( (
(
)
1 w 1 1 w 2
0 w 1 0 w 2
0 wwthf , 0 2 0 wwthf , 0 2
0 1
2
2
2
1
2
= + = a h + a a , a , hf , (cid:238)
VÍ DỤ ----------------------------------------------------------------------------------------------------------------------------------
V i h = 0.1, tính x p x giá tr y(0.2), y’(0.2) c a nghi m ủ ớ ệ ấ ỉ ị
2
t
bài toán sau b ng ph ằ ương pháp Euler:
(cid:236) = ‡ - y e sin , t 0
(cid:237)
+ y 2'2" y -= t -= (cid:238) )0( y ,4.0 y )0(' 6.0
ề
(
)
(
(
)
2
Đ i bi n = = ổ ế đưa v bài toán Côsi c p 1: u ) ấ -= -= (cid:236) & ' 0 0
2
t
2
t
(cid:237)
u -= -= ,4.0 + +
1 = y(t), u2 = y’(t) (cid:222) u 6.0 (
)
2 2
2 sin
2
2
2
2
= u 1 u ' y f 1 + '2 uut , , 1 + ey sin t u 2 f t (cid:238)
)
0 1
1
(cid:236) (cid:236) = + -= uut , , 1 ( - - -= , 4.0 (cid:222) (cid:237) (cid:237)
)
0 w 1 0 w 2
1 w 1 1 w 2
0 w 1 0 w 2
0 wwthf , 0 2 0 wwthf , 0 2
0 1
2
2
u 1 u 2 1 ( ( e ) ) -= = + -= 6.0,4.0,0 ( - - (cid:238) 6.0 , + 1.04.0 + 1.06.0 f 1 f 6.0,4.0,0 (cid:238)
BÀI TOÁN BIÊN --------------------------------------------------------------------------------------------------------------------------
Bài toán biên c p 2: Tìm hàm y = y(x) tho ph ả ương trình ấ
= £ £ (cid:236) y '' , bx
(cid:237) ,( a ),' ) = a b (cid:238) )( ay yyxf ( = by ,
ặ
£ £ (cid:236) ( xr ), a bx
)
(cid:237) = ) (cid:238) Hay g p: Bài toán biên tuy n tính c p 2 + " y ( ay ấ ế + ')( )( yxqyxp ( = = a b by ,
MINH HOẠ ----------------------------------------------------------------------------------------------------------------------------------
ị ế ấ
x
- (cid:236) + £ £
) 2 ex
( -+ 1
0, 1 y y x x
(cid:237)
( -=
ệ -= ) '' ( (cid:238) Tính giá tr nghi m y c a bài toán biên tuy n tính c p 2 ủ ) + y 2'1 ) ( = 1 ,1 0 0 y y
đi m chia cách đ u c a [0, 1] v i b t i các ạ ể ề ủ ớ ư c chia h = ớ
1/3 và x p x ấ ỉ đ o hàm y’, y’’ b ng công th c h ứ ư ng tâm ớ ạ ằ
Đi m chia: ể
0
2
=x 0 =x 32 =x 13 =x 311
(
)
(
) 1
2
0
3
(cid:246) (cid:230) (cid:246) (cid:230) = = -= = =(cid:247) =(cid:247) (cid:231) (cid:231) y ? y ? y y 0 = y 1 y = y 0 y 1 ł Ł ł Ł 1 3 2 3
Ữ
PHƯƠNG PHÁP SAI PHÂN H U H N Ạ ---------------------------------------------------------------------------------------------------------------------------------------
(
) *
+ £ £ (cid:236) ( axr ), bx
)
(cid:237) BT biên tuy n tính ế = ) (cid:238) " y ( ay + ')( )( yxqyxp ( = = a b by ,
Chia [a, b] thành các đo n nh b ng nhau. Thay x = x ỏ ằ ạ
k vào (*).
X p x y’(x ấ ỉ ạ ư ng tâm ớ
k) , y’’(xk): công th c ứ đ o hàm h
)
)
( xy
2
( xy 0
( xy 3
( xy 1
)
)
( ' xy
( ' xy 1
2
) 2
h
) 2
h
- - » »
h
x1
x2
x3
)
)
+
)
)
)
+
2
2
2
( xy 0
( xy 3
( xy 1
2
)
xy ("
)
xy (" 1
2
( xy 1 2 h
- - a= x0 ( xy » »
b= xn+1 ) ( xy 2 h
CÔNG TH C L P GHÉP Ứ Ắ -------------------------------------------------------------------------------------------------------------------------------------
(a, b) – ng n giá tr y Ma tr n c p n ứ ị t ế fi ậ ấ
k chưa bi
k £ n (cid:222) y= [y1, … yn]T: Ay = b
+
+
a
+
+
1
2
1
0
0
2 rh 1
p 1
2 qh 1
p 1
h 2
h 2
n m c xố k ˛ Ký hi u pệ k = p(xk) … yk = y(xk), 1 £ ø Ø (cid:246) (cid:230) ø Ø - - (cid:247) (cid:231) œ Œ œ Œ ł Ł
œ Œ œ Œ
+
+
2 rh 2
1
p
2
2 qh
p
1
2
2
2
œ Œ - œ Œ - - -
h 2
œ Œ œ Œ
2 rh 3
=
=
b
h 2
A
0
0
- œ Œ œ Œ
œ Œ œ Œ
+
1
p
n
1
2 rh n
1
h 2
œ Œ œ Œ - œ Œ - - œ Œ - œ Œ œ Œ
+
b
+
1
p
0
0
1
p
2
2 qh
2 rh n
n
n
n
h 2
h 2
œ Œ (cid:246) (cid:230) œ Œ - - - - (cid:247) (cid:231) œ Œ œ Œ ł Ł ß º ß º
Ậ Ả Ắ
L P B NG L P GHÉP -------------------------------------------------------------------------------------------------------------------------------------
(
) *
+ £ £ (cid:236) ( axr ), bx
)
(cid:237) BT biên tuy n tính ế = ) (cid:238) " y ( ay + ')( )( yxqyxp ( = = a b by ,
Chia [a, b] thành các đo n nh ỏ đ dài h. n ộ ạ ể
k đi m chia x
t ế fi ớ k chưa bi
ậ ả (không k 2 ể đ u) – ng v i y ầ ứ ộ k fi L p b ng c t x akk (đ/chéo
i
yk
akk
ak,k+1
ak-1,k
xk
pk
qk
rk
bk
1
2
3
n ẩ ố k n n s y pk = p(xk), qk = q(xk), rk = r(xk) fi k fi chính), ak,k+1 (chéo trên), ak-1,k (dư i), bớ Nghi m yệ k (n – 1), ak-1,k: k = 2 fi Đ/chéo akk: k = 1 fi n; ak,k+1: k = 1 fi
VÍ DỤ -------------------------------------------------------------------------------------------------------------------------------------
Gi ả i bài toán biên c p 2 sau b ng ph ấ ằ ương pháp sai phân
-= + + h u h n v i b ữ ạ ớ ư c chia h = 0.2 ớ (cid:236) y " x y 3
(cid:237) + y 2'3 = (cid:238) y )0( ,2 y 2 = 1)1(
(cid:222) h = 0.2 (cid:222) n = 5 (cid:222) 6 đi m chia ể H phệ ương trình 4 nẩ
Ma tr n c p 4: Chéo chính a ; Chéo trên a ậ ấ ầ ử
k, k+1: 3
i
ai,i+1
ai-1,i
xi
ri
1
2
3
3.1 3.1 3.1
kk – 4 ph n t aii 08.2- 08.2- 08.2- 08.2-
bi 264.1- 152.0 168.0 116.1-
qi 2 2 2 2
pi 3- 3- 3- 3-
4
4.3 8.3 2.4 6.4 7.0 7.0 7.0 2.0 4.0 6.0 8.0
K T QU Ế Ả
-------------------------------------------------------------------------------------------------------------------------------------
Gi i h b ng phép kh Gauss (làm tròn 3 ch s l ): ả ệ ằ ữ ố ẻ ử
- ø Ø 08.2 3.1 0 0 .1 264
œ Œ - - - 7.0 08.2 3.1 0 .0 152 œ Œ
[
]
= bA - - - œ Œ .0 168 0 08.27.0 3.1
œ Œ - ß º 0 0 7.0 08.2 .1 116
- ø Ø ø Ø 1 .0 625 0 0 .0 608 .1 006
œ Œ œ Œ - 0 .1 642 3.1 0 .0 273 .0 636 œ Œ œ Œ
[
]
= = fi (cid:222) bA y - - - œ Œ œ Œ 0 08.27.0 3.1 168.0 .0 593
œ Œ œ Œ - ß º ß º 0 0 7.0 08.2 116.1 .0 736