PHƢƠNG PHÁP TÍNH 1 GV: LÊ THỊ THU KHOA KHOA HỌC TỰ NHIÊN ĐẠI HỌC THỦ DẦU MỘT NỘI DUNG MÔN HỌC 2 Chương 0: Nhập môn Chương 1: Số gần đúng và sai số Chương 2: Tính giá trị đa thức Chương 3: Phép nội suy và áp dụng Chương 4: Giải gần đúng phương trình phi tuyến Chương 5: Giải gần đúng hệ phương trình tuyến tính Chương 6: Giải gần đúng phương trình vi phân thường 3 NHẬP MÔN CHƯƠNG 0 p Phƣơng pháp tính là gì? PPT là một nhánh của ngành Toán học ứng dụng, nghiên cứu các phƣơng pháp và giải thuật để giải một cách gần đúng các phƣơng trình, các bài toán xấp xỉ và các bài toán tối ƣu. p Đặc trƣng của phƣơng pháp tính Ø Chính xác Ø Thiết thực Ø Tốc độ (số vòng lặp) 4 Chƣơng 0: Nhập môn
48
Embed
NỘI DUNG MÔN HỌC PHƢƠNG PHÁP TÍNH Chương 0: Nhập môn
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
PHƢƠNG PHÁP TÍNH
1
GV: LÊ THỊ THU
KHOA KHOA HỌC TỰ NHIÊN
ĐẠI HỌC THỦ DẦU MỘT
NỘI DUNG MÔN HỌC
2
Chương 0: Nhập môn
Chương 1: Số gần đúng và sai số
Chương 2: Tính giá trị đa thức
Chương 3: Phép nội suy và áp dụng
Chương 4: Giải gần đúng phương trình phi tuyến
Chương 5: Giải gần đúng hệ phương trình tuyến tính
Chương 6: Giải gần đúng phương trình vi phân thường
3
NHẬP MÔN
CHƯƠNG 0
p Phƣơng pháp tính là gì?
PPT là một nhánh của ngành Toán học ứng dụng, nghiên cứu
các phƣơng pháp và giải thuật để giải một cách gần đúng các
phƣơng trình, các bài toán xấp xỉ và các bài toán tối ƣu.
p Đặc trƣng của phƣơng pháp tính
Ø Chính xác
Ø Thiết thực
Ø Tốc độ (số vòng lặp)
4
Chƣơng 0: Nhập môn
p Định hƣớng chung của PPT
Bài toán gốc Bài toán gần đúng
Vô hạn à Hữu hạn
Vi phân à Đại số
Phi tuyến à Tuyến tính
Phức tạp à Đơn giản
5
Chƣơng 0: Nhập môn
p Các lĩnh vực nghiên cứu của môn học
ü Tính giá trị các hàm:
ü Phép nội suy, ngoại suy.
ü Tính gần đúng đạo hàm, tích phân xác định.
ü Giải gần đúng phƣơng trình phi tuyến
ü Giải gần đúng hệ phƣơng trình đại số tuyến tính.
ü Giải gần đúng phƣơng trình vi phân thƣờng, phƣơng trình vi
phân đạo hàm riêng.
6
Chƣơng 0: Nhập môn
7
SỐ GẦN ĐÚNG VÀ SAI SỐ
CHƯƠNG 1
p Ta nói a là số gần đúng của a*, nếu a không sai khác a* nhiều.
p Giả sử một đại lƣợng có giá trị chính xác là a*, giá trị gần đúng
là a. Khi đó:
P Đại lƣợng r:= |a – a*| đƣợc gọi là sai số thật sự của a.
Do không biết a* => không biết r.
P Đại lƣợng ra thõa mãn:
đƣợc gọi là sai số tuyệt đối của a => ra càng nhỏ càng tốt
P Sai số tƣơng đối:
8
Bài 1.1: Sai số tuyệt đối và sai số tƣơng đối
aa
a
D=
p Ví dụ 1: Giả sử
Do lấy
Mặt khác, lấy
p Nhận xét: Sai số tƣơng đối rất quan trọng vì nó phản ánh độ
chính xác của phép đo, và phép đo này chính xác hơn phép đo
kia hay không.
F Ví dụ 2: Đo độ dài 2 vật A=1m, B=10m với cùng sai số tuyệt
đối là 0,1m; sai số tƣơng đối lần lƣợt là
=> phép đo vật B chính xác hơn phép đo vật A 10 lần, mặc dù sai
số tuyệt đối bằng nhau.9
Bài 1.1: Sai số tuyệt đối và sai số tƣơng đối
( 2,718281828...); 2,71a e a* = » =
2,71 2,72 2,71 0,01 0,01*< < = + = + Þa a
2,71 2,719 2,71 0,009 0,009*< < = + = + Þa a
0,1 0,110%, 1%
1 10a b= = = =
p Một số thập phân a có dạng tổng quát:
• Nếu là số nguyên.
• Nếu có phần lẻ gồm m chữ số.
• Nếu là số thập phân vô hạn.
Ví dụ:
p Thu gọn một số a là bỏ đi một số các chữ số bên phải a để đƣợc
Ta giữ lại đến số hạng thứ j. Gọi phần bỏ đi là . Đặt
Trong đó
ü Trong trƣờng hợp :
ü Nếu chẵn
ü Nếu lẻ11
Bài 1.2: Sai số thu gọn
11.10 .10 .10 .10p p j p s
p p j p sa - -- -= + + + + +
11.10 .10 .10p p j
p p ja --= + + +
, 0 0,5.10
1, 0,5.10 10
jj
j j jj
ì £ <ï= í
+ < <ïî
0,5.10 j=
j jÞ =
1j jÞ = +
p Ví dụ:
p Mọi số thỏa mãn đƣợc gọi là sai số thu gọn của a.
Nhận xét: Sau khi thu gọn, sai số tuyệt đối tăng lên lƣợng bằng
=> Chứng minh????
12
Bài 1.2: Sai số thu gọn
1) 1, 23567 1,2357 1,236 1,24 1,2 1
2) 1,2354 1, 235 1,24 1, 2 1
3) 1,2452 1,245 1,24 1,2 1
a
b
c
= » » » » »
= » » » »
= » » » »
aG a a a- £ G
aG
13
Bài 1.3: Chữ số chắc (chữ số đáng tin)
14
Bài 1.3: Chữ số chắc
15
Bài 1.3: Chữ số chắc
p Trong tính toán ta thƣờng gặp 4 loại sai số sau:
P Sai số giả thiết: Do lí tƣởng hóa, mô hình hóa bài toán thực tế. Sai số này không trừ đƣợc.
P Sai số phương pháp: Do các phƣơng pháp giải gần đúng nên trong tính toán luôn có các sai số do phƣơng pháp đem lại. Mỗi phƣơng pháp có các sai số đặc trƣng của nó.
P Sai số do số liệu: xuất hiện do đo đạc và việc cung cấp giá trị đầu vào không chính xác.
P Sai số tính toán: xuất hiện do làm tròn các thông số trong quá trình tính toán.
16
Bài 1.4: Sai số tính toán
p Bài toán thuận về sai số: là bài toán tìm sai số của kết quả khi
biết sai số của các số liệu ban đầu.
p Giả sử cần tìm hàm . Gọi và là
các giá trị đúng và gần đúng của đối số và số. Giả sử hàm f khả
vi liên tục. Khi đó
Ø Sai số tuyệt đối:
Ø Sai số tƣơng đối: 17
Bài 1.4: Sai số tính toán
1 2( , ,..., )ny f x x x= ,i ix y* * , , 1,i ix y i n=
'1 1
1
( ,..., ) ( ,..., )n
n n i i ii
y y f x x f x x f x x* * * *
=
- = - = -å
1
n
ii i
fy x
x=
¶D = D
¶å
1
lnn
ii i
yy f x
y x=
D ¶= = D
¶å 18
Bài 1.4: Sai số tính toán
19
Bài 1.4: Sai số tính toán
20
Bài 1.4: Sai số tính toán
21
BÀI TẬP CHƢƠNG I
22
TÍNH GIÁ TRỊ ĐA THỨC
CHƯƠNG 2
p Sơ đồ Horner tính giá trị đa thức
Bài toán: Cho đa thức bậc n có dạng tổng quát
Tính giá trị đa thức tại x = c, tức là cần tính P(c), với c là giá trị cho trƣớc.
23
Bài 2.1: Sơ đồ Horner và áp dụng
10 1 1 0( ) ( 0)n n
n nP x a x a x a x a a--= + + + + ¹
p Phương pháp: Phân tích P(x) dƣới dạng
24
Bài 2.1: Sơ đồ Horner và áp dụng
p Ví dụ 1: Cho . Áp dụng sơ đồ
Horner, tính P(-2)
Giải: Lập sơ đồ Horner:
p Ví dụ 2: Cho . Tính P(-2)
Đ/s: P(-2) = -2325
Bài 2.1: Sơ đồ Horner và áp dụng
6 4 3( ) 5 2 1P x x x x x= - + - -
26
Bài 2.1: Sơ đồ Horner và áp dụng
Horner
Input ai, c, n
P=0
i = 0,1,2,...,n
P = P*c + ai
Print P
End
p Sơ đồ Horner tổng quát
Bài toán: Cho đa thức bậc n có dạng tổng quát
Xác định P(y+c), với y là biến mới, c là giá trị cho trƣớc.
Phương pháp: Giả sử
=> Ta cần xác định các hệ số
27
Bài 2.1: Sơ đồ Horner và áp dụng
10 1 1 0( ) ( 0)n n
n nP x a x a x a x a a--= + + + + ¹
10 1 1 0( 0)( ) n n
n ny y b y b bP y c b b --+ + + + ¹+ =
, 0,ib i n=
ü Xác định bn:
ü Xác định bn-1
Ta có (*)
Trong đó, Pn-1(x) là đa thức bậc n-1.
Mặt khác
Đặt (2*)
Từ (*) và (2*) ta suy ra
. Tƣơng tự,28
Bài 2.1: Sơ đồ Horner và áp dụng
1 20 1 2 1)( ) ( n n
n n ny y b y b bP y c y b b- -- -+ + + + ++ =
1 20 1 2 1( ) ( )( )n n
n n nx y c P x x c b y b y b y b b- -- -= + Þ = - + + + + +
1 21 1 0 1 2 1( ) ( ) n n
n nP x P y c b y b y b y b- -- -= + = + + + +
( )n i ib P c- =
p Sơ đồ Horner tổng quát
29
Bài 2.1: Sơ đồ Horner và áp dụng
p Đạo hàm đến cấp n tại điểm x=c:
Theo công thức Taylor:
30
Bài 2.1: Sơ đồ Horner và áp dụng
10 1 1
10 1 1
0
( )
( ) ( ) ( ) ( ) ( )
n nn n
nn n i
n n n ii
P y c b y b y b y b
P x b x c b x c b x c b b x c
--
-- -
=
+ = + + + +
Þ = - + - + + - + = -å
( )
0
( )( ) ( )
!
ini
i
P cP x x c
i=
= -å
( ) ( )
!
i
n i
P cb
i-Þ = Û ( ) ( ) !i
n iP c i b -=
p Ví dụ 3: Cho . Xác định
Giải: Ta có c = -1. Lập sơ đồ Horner tổng quát:
31
Bài 2.1: Sơ đồ Horner và áp dụng6 5 2( ) 2 4 2P x x x x x= + - + + ( 1)P y -
(4)
(5)
(6)
D.hàm:
( 1) 2;
'( 1) 1!*11 11;
''( 1) 2!*( 11) 22;
'''( 1) 3!*0 0;
( 1) 4!*10;
( 1) 5!*( 8);
( 1) 6!*2.
P
P
P
P
P
P
P
- = -
- = =
- = - = -
- = =
- =
- = -
- =
p Tỷ sai phân:
Xét hàm y=f(x) trên [a, b] và cho trƣớc bảng giá trị
Tỷ sai phân cấp 1 của hàm f:
Tỷ sai phân cấp 2 của hàm f:
Tỷ sai phân cấp n của hàm f:
32
Bài 2.2: Sai phân của hàm số thực
, , 0,i ix y i n=
11
1
( ) ( ), , 1,i i
i i
i i
f x f xf x x i n
x x-
-
-
-= =
-
1 11 1
1 1
, ,, , , 1, 1i i i i
i i i
i i
f x x f x xf x x x i n
x x+ -
+ -
+ -
-= = -
-
1 1 1 1 01 1 0
0
, ,..., ,..., ,, ,..., , n n n
n n
n
f x x x f x x xf x x x x
x x- -
-
-=
-
Bài 2.2: Sai phân của hàm số thực
33
p Các tính chất của tỷ sai phân:
Tính chất tuyến tính
Tính chất đối xứng
Tỷ sai phân của hằng số = 0.
34
Bài 2.2: Sai phân của hàm số thực
0 0 0,..., ,..., ,...,k k kf g x x f x x g x x+ = +
1 1
1 1 1 1
, ,
, , , ,
i i i i
i i i i i i
f x x f x x
f x x x f x x x
- -
+ - - +
=
=
p Sai phân
Giả sử hàm là hàm cho trƣớc và các điểm cách đều nhau
khoảng h, tức . Khi đó:
Sai phân cấp 1 của hàm f:
Sai phân cấp 2 của hàm f:
Sai phân cấp n của hàm f:
Quy ước: 35
Bài 2.2: Sai phân của hàm số thực
:f R R®
1i ix x h+ = +
1( ) ( ) ( ) ( ) ( )i i i i if x f x f x f x h f x+D = - = + -
21( ) ( ) ( ) ( ) ( ) ( )i i i i i if x f x f x f x f x h f x+D = D D = D -D = D + -D
1 1 11( ) ( ) ( ) ( )n n n n
i i i if x f x f x f x- - -+
é ùD = D D = D - Dë û
Bài 2.2: Sai phân của hàm số thực
36
p Các tính chất của sai phân:
Tính chất tuyến tính
Nếu
Giả sử Pn(x) là đa thức bậc n. Khi đó:
37
Bài 2.2: Sai phân của hàm số thực
( )f g f gD + = D + D
0c const c= ÞD =
0 1( ) ( )
( ) 0
n nn n
mn
P x P x const
P x m n
D = D = =
D = " >
p Liên hệ giữa tỷ sai phân và sai phân trong trƣờng hợp các
điểm cách đều nhau khoảng h:
38
Bài 2.2: Sai phân của hàm số thực
1 1 11
1
21 1 1 1
1 1 2 21 1
01 1 0
( ) ( ) ( ) ( ),
1!
, , ( ) ( ) ( ), ,
2 2!
( ), ,..., ,
!
i i i ii i
i i
i i i i i i ii i i
i i
k
k k k
f x f x f x f xf x x
x x h h
f x x f x x f x f x f xf x x x
x x h h
f xf x x x x
k h
- - --
-
+ - - -+ -
+ -
-
- D D= = =
-
- D - D D= = =
-
D=
p Ứng dụng sai phân tính giá trị đa thức
39
Bài 2.2: Sai phân của hàm số thực
p Bài 1: Cho . Xác định:
p Bài 2: Cho hàm y=f(x) với bảng giá trị:
Lập bảng tỷ sai phân các cấp của f
p Bài 3: Cho hàm y=f(x) với bảng giá trị:
Lập bảng sai phân các cấp của f 40
BÀI TẬP CHƢƠNG II5 3 2( ) 2 4 2P x x x x= + - +
x -4 -1 0 2
y=f(x) 45 33 5 9
x 1 2 3 4 5
y=f(x) 12 8 5 10 25
41
PHÉP NỘI SUY VÀ ÁP DỤNG
CHƯƠNG 3
Phép nội suy
p Bài toán: Xét hàm trên [a, b] và giả sử đã biết n+1
mốc Cần tính f(c) với c bất kỳ
thuộc [a,b].
Ø Ta xây dựng đa thức Pn(x) có bậc không quá n sao cho:
Ø Khi đó ta có thể coi
42
( )y f x=
, , ( ), 0, .i i ix a b y f x i nÎ = =
( ) ( ), 0,n i i iP x y f x i n= = =
( ) ( ) , , .n iP x f x x a b x x» " Î ¹
Phép nội suy
43
Ø Bài toán xây dựng hàm Pn(x) đƣợc gọi là bài toán nội suy.
Ø Hàm Pn(x) đƣợc gọi là hàm nội suy của f(x) trên [a, b].
Ø Các điểm đƣợc gọi là các mốc nội suy.
p Định lý: Đa thức nội suy Pn(x) của hàm f(x) đƣợc xây dựng từ
các mốc nội suy trên (nếu có) là duy nhất.
, 0,ix i n=
Ý nghĩa hình học
44
Pn(x)
Pn(c)
c
f(x)
x0 x1 x2 xn
·
·
·
·
·
Xấp xỉ đƣờng cong f(x) bởi đa thức Pn(x) (với Pn(xi)=f(xi)). Ƣớc lƣợng f(c) bởi Pn(c): f(c) » Pn(c) với sai số Rn(c)
Rn(c) f(c)
Bài 3.1 Đa thức nội suy Lagrange
p Cho trƣớc n+1 điểm mốc: (x0,y0),(x1,y1),…, (xn,yn)
p Đa thức nội suy Lagrange là đa thức Pn (x) có bậc không quá n
và nhận các giá trị y0, y1, y2, …,yn theo công thức
p Với n=1 (có 2 mốc nội suy)
p Với n=2
45
0 1 1 1
0 0 1 1 1
( )( )...( )( )...( )( )
( )( )...( )( )...( )
ni i n
n ii i i i i i i i n
x x x x x x x x x xP x y
x x x x x x x x x x- +
= - +
- - - - -=
- - - - -å
011 0 1
0 1 1 0
( )x xx x
P x y yx x x x
--= +
- -
0 2 0 11 22 0 1 2
0 1 0 2 1 0 1 2 2 0 2 1
( )( ) ( )( )( )( )( )
( )( ) ( )( ) ( )( )
x x x x x x x xx x x xP x y y y
x x x x x x x x x x x x
- - - -- -= + +
- - - - - -
Bài 3.1 Đa thức nội suy Lagrange
Ví dụ 3.1: Xây dựng đa thức nội suy Lagrange cho hàm y=sin(px) rồi tính gần đúng sin(p/5) với các mốc nội suy cho trong bảng:
Do x3 < = 0,1 nên x =x3= 0,4375 là nghiệm gần đúng cần tìm.
T
Input a, b, eps
x = (a+b)/2
a = x
Print x End
Compute f(x)
b - a < eps
T
f(a)*f(x) > 0
b = x
F
F
Giải thuật của phương pháp chia đôi
Bài toán: Giả sử (a,b) là khoảng phân ly nghiệm của phƣơng trình f(x)=0. Giả thiết f’(x), f’’(x) liên tục và ko đổi dấu trên (a, b). Tìm nghiệm thực gần đúng của f(x)=0 trên (a,b) với sai số£e cho trƣớc.
Nội dung của pp:
§ Thay cung AB bởi dây trƣơng cung AB
AB cắt trục hoành tại điểm (x1,0).
§ Nếu |x1-a| £ e, x1: nghiệm gần đúng cần tìm.
§ Nếu không, lặp lại phƣơng pháp dây cung với khoảng phân ly mới (x1,b) hoặc (a, x1) tùy theo tính chất của f(x)
b A
x1
f(x)
a
Bài 4.3. Phƣơng pháp dây cung
a
B
1
( )
( ) ( )
b a f ax a
f b f a
-= -
-
ü Nếu f(x1).f(a)<0 thì (a,x1) là khoảng phân ly nghiệm mới
ü Nếu f(x1).f(b)<0 thì (x1,b) là khoảng phân ly nghiệm mới
4.3. Phƣơng pháp dây cung
x2
a
B
b
A
a A1
Với khoảng phân ly nghiệm mới (x1,b), tính được nghiệm gần đúng x2 bằng phương pháp dây cung
x1
§ Quá trình lặp kết thúc khi tìm được nghiệm gần đúng xn có sai số Dxn ≤ e
0
§ Định nghĩa: Điểm được gọi là điểm Fourier, nếu
thỏa mãn
,x a bÎ
( ). ''( ) 0f x f x >
4.3. Phƣơng pháp dây cungĐể xây dựng công thức tính nghiệm, ta xét thêm tính tăng giảm và lồi lõm của đƣờng cong f(x). Giả sử f’ và f’’ không đổi dấu trên (a,b)
a
b
a
b a
b
a
b
4.3. Phƣơng pháp dây cung
B
b
xn
An
xn+1
An-1
0
1
( ).( )
( ) ( )n n
n n
n
x a
f x x bx x
f x f b+
=
-= -
-(3.1)
a
4.3. Phƣơng pháp dây cung
0
1
( ).( )
( ) ( )n n
n n
n
x b
f x x ax x
f x f a+
=
-= -
-a
X0=b x1
B0 B1
A
(3.2)
4.3. Phƣơng pháp dây cung
ü Từ 2 trƣờng hợp trên, ta rút ra công thức tính nghiệm chung:
)()(
))((1
dfxf
dxxfxx
n
nnnn
-
--=+
Trong đó:
d=b, x0 = a nếu b là điểm Fourier
d=a, x0 = b nếu a là điểm Fourier
(3.3)
4.3. Phƣơng pháp dây cung
Ví dụ: Tìm nghiệm gần đúng của phƣơng trình x3-3x+1=0 trên (1,5; 2) bằng phƣơng pháp dây cung với 3 lần lặp (nghĩa là giá trị của nghiệm cần tìm lần lƣợt là x0, x1, x2 và x3).
Giải:
Đặt f(x) = x3 – 3x+1
f’(x)=3x2-3; f’(x)=0 Û x = -1 Ú x = 1
f’’(x) =6x; f’’(x)=0 Û x = 0;
Bảng xét dấu:
4.3. Phƣơng pháp dây cung
Dựa vào bảng xét dấu, ta thấy:
f’(x)>0 và f’’(x)>0 "xÎ(1,5; 2) và f(1,5)=-1,125<0 ; f(2)=3>0
=> f(2).f’’(x)>0 =>x=2 là điểm Fourier
Vậy, chọn x0 = 1,5; d = 2
Áp dụng công thức tính nghiệm:
Ta tính được:
)()(
))((1
dfxf
dxxfxx
n
nnnn
-
--=+
...)2()(
)2)((
0
0001 =
-
--=
fxf
xxfxx
?)2()(
)2)((
2
2223 =
-
--=
fxf
xxfxx
...)2()(
)2)((
1
1112 =
-
--=
fxf
xxfxx
4.3. Sai số của phƣơng pháp dây cung
( )n
nx
f x
mD £
Nếu có số m thoả: 0< m ≤ |f’(x)|, "xÎ[a,b]
Nếu có số M,m thoả 0< m ≤ |f’(x)| ≤M, "xÎ[a,b] thì sai số cũng có thể chọn là:
1nx n n
M mx x
m-
-D £ -
4.3. Phƣơng pháp dây cung
Ví dụ: Dùng phƣơng pháp dây cung tìm nghiệm gần đúng của phƣơng
trình 5x3-x2-x-1=0 với sai số không quá 0,02.
Giải: Đặt f(x) = 5x3-x2-x-1
Vì f(0,5)=-1,125<0; f(1,5)=12,125>0 => (0,5; 1,5) là khoảng phân
ly nghiệm. Ta có:
f’(x)=15x2-2x-1; f’(x)=0 Û x1=-1/5; x2 =1/3
f’’(x)=30x-2 ; f’’(x)=0Û x=1/15
Xét dấu f’ và f’’:
X -¥ -1/5 1/5 1/3 -¥
f’ + 0 - 0 +
f’’ - 0 +
4.3. Phƣơng pháp dây cung
Þ f’(x)>0; f’’(x)>0 "x Î (0,5; 1,5)
f(1,5)*f’’(x)>0 => x=1,5 là điểm Fourier.
Công thức tính nghiệm:
Ta có m=min|f’(x)| =min| 15x2-2x-1 |=f’(0,5)=1,75 "x Î(0,5; 1,5)
Vậy có thể chọn biểu thức đánh giá sai số:
ïî
ïí
ì
-
--=
=
-
---
)5,1()(
)5,1)((
5,0
1
111
0
fxf
xxfxx
x
n
nnnn
( )
1,75n
nx
f xD £
4.3. Phƣơng pháp dây cung
x f(x) Sai số
0,5 -1,125 0,642857
0,584906 -0,9265 0,529426
0,649866 -0,69992 0,399952
0,696262 -0,49337 0,281926
0,727688 -0,33056 0,18889
0,748184 -0,21387 0,122214
0,761215 -0,13524 0,077278
0,769365 -0,08427 0,048153
0,774407 -0,05203 0,02973
0,777508 -0,03194 0,018251 < 0.02
x=0.777508 là nghiệm gần đúng cần tìm với sai số không quá 0.02
Giải thuật của phương pháp dây cung (TH x=a là điểm Fourier)
Input a, b, eps, m
x0 = b
Err = |f(x1)|/m
Print x1
End
x1 = x0 – f(x0)(x0 – a)/( f(x0) - f(a) )
Err < eps F
T
x0 = x1
Bài toán: Giả sử (a,b) là khoảng phân ly nghiệm của phƣơng trình f(x)=0. Giả thiết f’(x), f’’(x) liên tục và không đổi dấu trên (a, b). Tìm nghiệm thực gần đúng của f(x)=0 trên (a,b) với sai số£e cho trƣớc.
4.1 Nội dung của pp:
- Thay đƣờng cong f(x) trên
[a,b] bởi tiếp tuyến (T) với
đƣờng cong tại điểm A hoặc
B, hoành độ giao điểm x1
của (T) với trục hoành xem
nhƣ nghiệm gần đúng của phƣơng trình
4.4. Phƣơng pháp tiếp tuyến (Phƣơng pháp Newton)
x1
b
(T)
f(x)
a
B
a
4.4. Phƣơng pháp tiếp tuyến:
Trƣờng hợp 1: x=b là điểm Fourier
a X0=b
a
x0=b x1
x1 f(x)
(T0)
1
0
( )
'( )n
nn
n
x b
f xx x
f x+
=
= -
4.4. Phƣơng pháp tiếp tuyến:
(T0) (T1)
x=a x1 x2
b
A0ºA
A1
b) Trường hợp 2: x=a là điểm Fourier
1
0
( )
'( )n
nn
n
x a
f xx x
f x+
=
= -
4.4. Phƣơng pháp tiếp tuyến:
p Kết luận: Từ 2 trƣờng hợp, ta rút ra công thức tính nghiệm
gần đúng xn+1 theo xn là:
)('
)(1
n
nn
xf
xfxx
n-=
+
p Với:
n X0 = a nếu a là điểm Fourier
n X0 = b nếu b là điểm Fourier
4.4. Sai số của PP tiếp tuyến
§ Giả sử a là nghiệm đúng của phƣơng trình. m1, m2 là các số thỏa điều kiện 0<m1≤|f’(x)| và |f’’(x)|≤m2 <+∞. Ta có:
2
))((''))((')()(
21
111-
---
-+-+= nn
nnnnn
xxcfxxxfxfxf
21
221
111
1
11
)(2
))((''2
1)(
0))((')()('
)(
--
---
-
--
-£-=Þ
=-+Þ-=
nnnnn
nnnn
n
nnn
xxm
xxcfxf
xxxfxfxf
xfxx
nxnnn xxm
mx D=-£a- -
21
1
2 )(2Þ
)
Giải thuật của PP tuyếp tuyến (1)(TH x=a là điểm Fourier)
Input: a,b,e, m
x0 = a
x1 = x0 –f(x0)/f’(x0)
err = |f(x1)|/m
err < e F
T
x0 = x1
Print x1
End
@Trong thực hành thường chọn sai số của xn: D = |xn-xn-1|
Input: a,b,e
x0 = a
x1 = x0 –f(x0)/f’(x0)
err = |x1 – x0|
err < e F
T
x0 = x1
Print x1
End
Giải thuật của PP tuyếp tuyến (2)(TH x=a là điểm Fourier) 4.5. Phƣơng pháp lặp đơn
Bài toán: Tìm nghiệm gần đúng của phƣơng trình f(x)=0 trên (a,b).
p Nội dung của pp: Biến đổi f(x) = 0 về dạng x = j(x) với j(x)
liên tục trên (a,b) và |j’(x)| £ q < 1 "xÎ[a,b]
- Lấy x = x0 Î [a, b] làm nghiệm gần đúng ban đầu
- Tính x1 = j(x0)
- Tính x2 = j(x1)
- …..
- Tính xn = j(xn-1)
Nếu xn hội tụ về a khi n ® +∞ thì a là nghiệm đúng của
phƣơng trình. Các xi là các nghiệm gần đúng
4.5. Phƣơng pháp lặp đơn
Ví dụ: Tìm nghiệm gần đúng của phƣơng trình
5x3 - x2 - x-1 = 0 (*) trên (0.5; 1.5)
Ta có:
(*) Û x = 5x3 - x2 – 1
Hoặc
(*) Û
Hoặc
(*) Û
Chọn công thức (c). Các nghiệm gần đúng tìm đƣợc:
3
2
5
1++=
xxx
15 3 --= xxx
(a)
(b)
(c)
4.5. Phƣơng pháp lặp đơn
Dãy các giá trị xi tính được từ phương trình:
5x3-x2-x-1 = 0 (*)
bằng cách biến đổi phương trình đã cho về dạng:
3
2
5
1++=
xxx
4.5. Phƣơng pháp lặp đơn
p Sự hội tụ về nghiệm của phƣơng pháp
Định lý: Giả sử (a,b) là khoảng phân ly nghiệm của phƣơng
trình f(x)=0. Tồn tại phép biến đổi f(x)=0 Û x= j(x)
Và j(x) và j’(x) là các hàm số tiên tục trên [a,b].
Xét cột thứ j trong 2 ma trận A.A-1 và I. Ta có hệ:
Với îíì
=
¹=
)(1
)(0
ji
jieij
Hay
5.2. Dùng phƣơng pháp Gauss tìm ma trận nghịch đảo
p Nội dung của phƣơng pháp là:
Giải hệ có dạng:
Để tìm các phần tử ở cột thứ j của ma trận A-1
÷÷÷÷÷
ø
ö
ççççç
è
æ
=
÷÷÷÷÷
ø
ö
ççççç
è
æ
´
÷÷÷÷÷
ø
ö
ççççç
è
æ
nj
j
j
nj
j
j
nnnn
n
n
e
e
e
x
x
x
aaa
aaa
aaa
......
...
...
...
...
2
1
2
1
21
22221
11211
Với îíì
=
¹=
)(1
)(0
ji
jieij
5.2. Dùng phƣơng pháp Gauss tìm ma trận nghịch đảo
p Cụ thể:
Giải hệ:
ïïï
î
ïïï
í
ì
=++++
=++++
=++++
=++++
0...
...
0...
0...
1...
1313212111
13313321321131
12312321221121
11311321121111
nnnnnn
nn
nn
nn
xaxaxaxa
xaxaxaxa
xaxaxaxa
xaxaxaxa
Để tìm đƣợc các phần tử ở cột 1 của ma trận A-1
5.2. Dùng phƣơng pháp Gauss tìm ma trận nghịch đảo
p Giải hệ:
n Để tìm các phần trử trên cột 2 của ma trận A-1
p Tổng quát:
n Giải hệ AXj = Ij để tìm các phần tử trên cột j của A-1. Với Xj là cột thứ j của A-1, Ij là cột thứ j của I
n Có thể giải hệ bằng phƣơng pháp Gauss. Ở đây có chung ma trận hệ số A
5.2. Dùng phƣơng pháp Gauss tìm ma trận nghịch đảo
Bài 5.3. Phƣơng pháp phần tử trội
Với PP Gauss đƣợc trình bày ở trên:
n Phƣơng pháp Gauss là PP giải đúng. Thực tế, vẫn xảy ra sai số do quy tròn. Hơn nữa, các tính toán trên máy tính chỉ là gần đúng. Sai số sẽ lớn khi phần tử
n Không thực hiện đƣợc nếu ở bƣớc k, phần tử akk=0
n Ý tƣởng của phƣơng pháp này là chọn trong các hệ số aij hệ số có trị tuyệt đối lớn nhất (phần tử trội). Chẳng hạn đó là phần tử apq. Khi đó, dòng thứ p đƣợc gọi là dòng trội.
0kka »
5.3. Phƣơng pháp phần tử trội
Nội dung của phương pháp:
p Thực hiện phép khử ẩn với dòng trội sao cho cột thứ q sau khi trừ khử apq còn lại các phần tử khác đều bằng 0.
p Bỏ cột q và dòng p ta được ma trận vuông mới cấp n-1.
p Tiếp tục quá trình với ma trận mới cấp n-1 vừa thu được.
5.3. Phƣơng pháp phần tử trội
Nhận xét:
p Nếu thì phƣơng pháp phần tử trội áp dụng đƣợc.
p Phƣơng pháp phần tử trội ƣu việt hơn phƣơng pháp Gauss là không phải chia cho những phần tử
det 0A ¹
( 1) 0kkka - »
Bài tập: Giải hệ sau bằng phƣơng pháp phần tử trội:
1 2 3
1 2 3
1 2 3
1
2 3 2
2 3
x x x
x x x
x x x
+ + =ìï
+ + =íï + + =î
ĐS: (-3,2,2)
Bài 5.4. Phƣơng pháp Cholesky (căn bậc hai)
p Giải hệ PT tuyến tính: AX = B, trong đó A là ma trận đối xứng
p Nội dung của phương pháp:
n Quá trình thuận: Giả sử biến đổi đƣợc ma trận A thành tích của 2 ma trận vuông cấp n :
trong đó:
.TA S S=
11 12 1 11
22 2 12 22
1 2
0 0
0 0;
0 0
n
n T
nn n n nn
s s s s
s s s sS S
s s s s
æ ö æ öç ÷ ç ÷ç ÷ ç ÷= =ç ÷ ç ÷ç ÷ ç ÷è ø è ø
5.4. Phƣơng pháp Cholesky
1
11 11 1
11
; ( 1)j
j
as a s j
a= = >
12
1
(1 )i
ii ii kik
s a s i n-
-
= - < £å1
1
.
( )
i
ij ki kjk
ij
ii
a s s
s i js
-
=
-
= <å
0 ( )ijs i j= >
Nhân với rồi đồng nhất với các phần tử của A ta đƣợc:TS
Nhƣ vậy, việc giải hệ Ax=B đƣợc chuyển về việc giải 2 hệ tam giác:
Định nghĩa: Chuẩn của ma trận A=(aij) là một số thực ||A|| thỏa các điều kiện:
a. ||A||≥0 (với ||A||=0 Û A = 0)
b. || a.A||=|a|.||A||, với a là một số thực
c. ||A+B||≤||A||+||B||
d. ||A.B|| ≤||A||.||B||
Thực tế thƣờng dùng 3 chuẩn sau:
||max.
)||(.
||max.
,
2
12
2
1
å
å
å
=
=
=
¥j
iji
jiij
iij
j
aAc
aAb
aAa (Chuẩn cột)
(Chuẩn Ơclit )
(Chuẩn dòng)
Chuẩn của ma trận và chuẩn của vector
Ví dụ 1: Cho
÷÷÷
ø
ö
ççç
è
æ
-
-
=
473
201
112
A
Tính?1,A A
¥
Chuẩn của ma trận và chuẩn của vector
p Chuẩn Vector: Vector là ma trận chỉ có 1 cột nên chuẩn của Vector là:
å=
=+++=n
iin xxxxX
1211
...
2
1
1
222
2
2
12)(... å
=
=+++=n
iin xxxxX
ii
xX max=¥
Ví dụ 2: Cho vector
÷÷÷÷÷
ø
ö
ççççç
è
æ
=
3
4
2
1
X Tính các chuẩn dòng, cột của X
Sự không ổn định của hệ phƣơng trình đại số tuyến tính.
p Giả sử nghiệm của hệ AX=B tìm đƣợc là X1.
p Nếu thay đổi rất ít giá trị của các hệ số hoặc của vế phải, mà nghiệm tìm đƣợc của hệ sai lệnh lớn so với X1. Ta nói hệ AX=B không ổn định, ngƣợc lại hệ phƣơng trình gọi là ổn định
p Cách đơn giản để kiểm tra tính ổn định của hệ thống phƣơng trình là: Giải hệ AX=B đồng thời cũng giải hệ AX=B1 với B1
khác rất ít so bới B. Nếu hai nghiệm tìm đƣợc xấp xỉ nhau, ta nói hệ ổn định, ngƣợc lại ta nói hệ không ổn định
p Cách khác: xét hệ số Cond(A)=||A||.||A-1||
Với ||A|| là một chuẩn nào đó.
Cond(A) càng lớn, hệ càng không ổn định
Con(A) càng gần với 1, hệ càng ổn định.
Bài 5.5. Phƣơng pháp lặp giải hpttt Ax=b
§ Bài toán: Tìm nghiệm của hệ: Ax=b
§ Phƣơng pháp:
Biến đổi hệ về dạng tƣơng đƣợng: x = Bx+g
Định lý: Nếu ||B||p<1 thì dãy lặp , trong đó, bất kỳ cho trƣớc, đều hội tụ về nghiệm duy nhất của
phƣơng trình x = Bx+gHơn nữa, ta có đánh giá sai số:
0nx RÎ *x
5.5.1. Phƣơng pháp Jacobi giải hpttt Ax=b
§ Ma trận A đƣợc gọi là có đƣờng chéo trội, nếu các phần tử nằm trên đƣờng chéo chính có trị tuyệt đối lớn hơn tổng trị tuyệt đối của các phần tử trên 1 hàng.
§ Định lý: Nếu A có đƣờng chéo trội thì có thể đƣa phƣơng trình Ax=b về dạng x=Bx+g, với ma trận B có chuẩn nhỏ hơn 1.
§ Phương pháp Jacobi giải lặp hệ theo sơ đồ:
( 1) ( ) , ( 0)k kx B x g k+ = + ³
Thông thƣờng, chọn (0)x g=
F Nếu A có đường chéo trội, ta chia mỗi hàng của hệ cho phần tử nằm trên đường chéo chính của hàng này, giữ ần trên đường chéo chính (có hệ số =1) ở vế trái, chuyển các số hạng còn lại sang phải, ta được hệ x=Bx+g với B có chuẩn nhỏ hơn 1.
5.5.1. Phƣơng pháp Jacobi giải hpttt Ax=b
5.5.1. Phƣơng pháp Jacobi giải hpttt Ax=b0 0,2 0,1 1
0,1 0 0,2 ; 1,2
0,1 0,1 0 0,8
B g
- -æ ö æ öç ÷ ç ÷
= - - =ç ÷ ç ÷ç ÷ ç ÷- -è ø è ø
3
1 31
max 0,3 1iji
j
B b¥ £ £
=
= = <å
5.5.2. Phƣơng pháp Seidel giải hpttt Ax=b
§ Giả sử có hệ x=Bx+g. Phân tích B thành tổng 2 ma trận tam giác: B=B1+B2
Khi đó, ta có phƣơng trình
11 12 1
21 22 2
1 2
1 2
0 0 0
0 0 0;
0 0 0
n
n
n n nn
b b b
b b bB B
b b b
æ ö æ öç ÷ ç ÷ç ÷ ç ÷= =ç ÷ ç ÷ç ÷ ç ÷è ø è ø
1 2x B x B x g= + +
§ Phƣơng pháp Seidel giải lặp hệ theo sơ đồ:( 1) ( 1) ( )
1 2 , ( 0)k k kx B x B x g k+ += + + ³
§Định lý: Phƣơng pháp Seidel hội tụ, nếu 1B¥
<
1( 1) ( 1) ( )
1
, ( 1, ; 0)i n
k k ki ij j ij j i
j j i
x b x b x g i n k-
+ +
= =
= + + = ³å å
5.5.3. Phƣơng pháp Seidel giải hpttt Ax=b
§ Ví dụ: Dùng pp Seidel giải hệ sau
§ Giải: Nhận thấy ma trận hệ số có đƣờng chéo trội. Biến đổi hệ về dạng
1 2 3
1 2 3
1 2 3
10 2 10
10 2 12
10 8
x x x
x x x
x x x
+ + =ìï
+ + =íï + + =î
1 2 3
2 1 3
3 1 2
0,2 0,1 1
0,1 0,2 1,2
0,1 0,1 0,8
x x x
x x x
x x x
= - - +ìï
= - - +íï = - - +î
0 0,2 0,1 1
0,1 0 0,2 ; 1,2
0,1 0,1 0 0,8
B g
- -æ ö æ öç ÷ ç ÷= - - =ç ÷ ç ÷ç ÷ ç ÷- -è ø è ø
Do nên pp hội tụ3
1 31
max 0,3 1iji
j
B b¥ £ £
=
= = <å
5.5.3. Phƣơng pháp Seidel giải hpttt Ax=b
Áp dụng pp Seidel với theo công thức:(0)
1
1,2
0,8
x g
æ öç ÷
= = ç ÷ç ÷è ø
Tách B thành tổng B1 + B2
1 2
0 0 0 0 0,2 0,1
0,1 0 0 ; 0 0 0,2
0,1 0,1 0 0 0 0
B B
- -æ ö æ öç ÷ ç ÷= - = -ç ÷ ç ÷ç ÷ ç ÷- -è ø è ø
( 1) ( ) ( )1 2 3
( 1) ( 1) ( )2 1 3
( 1) ( 1) ( 1)3 1 2
0,2 0,1 1
0,1 0,2 1,2
0,1 0,1 0,8
k k k
k k k
k k k
x x x
x x x
x x x
+
+ +
+ + +
ì = - - +ï
= - - +íï
= - - +î
BÀI TẬP CHƢƠNG V
Bài 1: Cho các HPT:
1 2 3 1 2 3
1 2 3 1 2 3
1 2 3 1 2 3
18 3 2 50 10 12
) 4 11 33 ) 2 10 13
6 3 12 36 2 2 10 14
x x x x x x
a x x x b x x x
x x x x x x
- + = + + =ì ìï ï
+ - = + + =í íï ï+ + = + + =î î
a. Sử dụng pp Gauss, tìm nghiệm chính xác của hệ
b. Sử dụng các pp lặp: Jacobi, Seidel, tìm 5 xấp xỉ đầu tiên của hệ.
Bài 2: Dùng pp lặp Jacobi, Seidel giải hệ Ax=B với 5 lần lặp, biết
010 1 2 3
1 10 1 2 5;
2 3 20 1 10
3 2 1 20 15
A B
- - æ öæ öç ÷ç ÷- ç ÷ç ÷= =ç ÷ç ÷- -ç ÷ç ÷
è ø è ø170
CHƯƠNG 6
GIẢI GẦN ĐÚNG
PHƢƠNG TRÌNH VI PHÂN THƢỜNG
6.1. Giải gần đúng bài toán Cauchy
p Bài toán Cauchy cho phƣơng trình vi phân cấp n:
Tìm nghiệm y=y(x) của phƣơng trình
với các điều kiện đầu
trong đó là các số cho trƣớc
' ( 1) ( 1)0 0 0 0 0 0( ) , '( ) , , ( )n ny x y y x y y x y- -= = =
' ( 1)0 0 0, , , ny y y -
6.1. Giải gần đúng bài toán Cauchy
p Các pp giải:
v Các pp giải tích: tìm nghiệm gần đúng dƣới dạng biểu thức giải tích:
ü Phƣơng pháp xấp xỉ liên tiếp Picard
ü Phƣơng pháp chuỗi nguyên
v Các pp số: tìm nghiệm của bài toán tại các điểm
ü Phƣơng pháp Euler, Euler cải tiến
ü Phƣơng pháp Runge-Kutta
0 1 nx x x< < <
6.1. Giải gần đúng bài toán Cauchy cấp 1
p Một số phƣơng pháp giải gần đúng bài toán Cauchy đối với ptvp cấp 1:
0
0 0
' ( , ), , ,
( )
y f x y x a b x a
y x y
ì = Î =ïí
=ïî(1)
6.1.1. Phƣơng pháp xấp xỉ liên tiếp Picard
p Giả sử cần giải bài toán Cauchy
p Việc giải bài toán (1) hoàn toàn tƣơng đƣơng với việc tìm nghiệm của phƣơng trình tích phân
p Nội dung phƣơng pháp:
0
0 0
' ( , ), , ,
( )
y f x y x a b x a
y x y
ì = Î =ïí
=ïî(1)
0
0( ) , ( )x
x
y x y f t y t dt= + ò
0
0 0
0 1
( )
( ) , ( )x
n n
x
y x y
y x y f t y t dt-
=
= + ò(2)
6.1.1. Phƣơng pháp xấp xỉ liên tiếp Picard
p Định lý: Giả sử hàm f(x,y) thỏa mãn điều kiện Lipsit theo biến
y trên miền mở , tức là
Giả sử . Khi đó, dãy nghiệm xác định từ công
thức (2) sẽ hội tụ về nghiệm duy nhất của bài toán (1)
q Tốc độ hội tụ đƣợc ƣớc lƣợng bởi bất đẳng thức:
trong đó
0 0: ,D x x a y y b- £ - £
( , ),( , ) ( , ) ( , )x y x y D f x y f x y L y y" Î - £ -
0 0( , )x y DÎ ( )ny x
*( )y x
* 10( ) : ( ) ( ) ( )
( 1)!
nn
n n
K Lx y x y x x x
n+= - £ -
+
( , )max ( , )x y D
K f x yÎ
=
6.1.1. Phƣơng pháp xấp xỉ liên tiếp Picard
p Ví dụ 1: Xét bài toán Cauchy
Các xấp xỉ liên tiếp có dạng
Nghiệm chính xác:
'
(0) 1
y x y
y
= -ìí
=î
0
2
1
0
2 3 1 1*
1
0
(0) 1
1 ( 1) 12
( 1) ( 1)1 ( ) 1 2 ( )
2! 3! ! ( 1)!
x
x n n n n
n n
y y
xy t dt x
x x x xy t y dt x y x
n n
+ +
-
= =
= + - = - +
æ ö- -= + - = - + - + + + ®ç ÷
+è ø
ò
ò
6.1.2. Phƣơng pháp chuỗi nguyên
p Xét bài toán Cauchy (1), trong đó, hàm f(x,y) giải tích trong lân cận (x0, y0), tức là
Khi đó, nghiệm đúng y*(x) có thể khai triển thành chuỗi Taylor:
è Nhƣ vậy, ta cần tính các đạo hàm y*(i)(x0) :
0 0, 0
( , ) ( ) ( )i jij
i j
f x y a x x y y¥
=
= - -å
*( )* 0
00
( )( ) ( )
!
ii
i
y xy x x x
i
¥
=
= -å (3)
6.1.3. Phƣơng pháp Euler
p Xét bài toán Cauchy (1)
p Cần tìm nghiệm gần đúng tại một số điểm
p Xét trƣờng hợp các điểm cách đều nhau khoảng h: xi+1 =xi +h
p Từ khai triển Taylor, ta có
p Vậy ta coi
p Công thức Euler:
0
0 0
' ( , ), , ,
( )
y f x y x a b x a
y x y
ì = Î =ïí
=ïî
0 1 na x x x b£ < < < £
21
, ( )( ) ( ) ( )
1!i i
i i
h f x y xy x y x O h+ = + +
1( ) ( ) , ( )i i i iy x y x h f x y x+ » +
1 ,i i i iy y h f x y+ = + (4)
6.1.3. Phƣơng pháp Euler
p Sai số của phương pháp Euler: Giả sử hàm f(x,y) thỏa mãn điều kiện Lipsit theo biến y:
và có số M sao cho
Khi đó, sai số
Ø Nhận xét:
ü Phương pháp Euler là phương pháp tường minh.
ü Phương pháp Euler có ưu điểm: đơn giản, dễ lập trình.
Tuy nhiên, độ chính xác của phương pháp thấp.
( , ) ( , )f x y f x y L y y- £ -
0
( , ( )), , n
f x y xM x x x
x
¶£ Î
¶
0( )( ) 12
nL x xi i i
Mhy y x e
L-= - £ -
6.1.3. Phƣơng pháp Euler
p Ví dụ 2: Giải bài toán Cauchy:
với n=5
p Giải
2' , 0 1
(0) 1
xy y x
y
y
ì= - £ £ï
íï =î
6.1.4. Phƣơng pháp Euler cải tiến
p Thay vì dùng công thức Euler (4), ta sử dụng công thức sau:
p Bài tập: Giải ví dụ 2 bằng pp Euler cải tiến
*1
*1 1 1
( , )
( , ) ( , )2
0,1,..., 1
i i i i
i i i i i i
y y hf x y
hy y f x y f x y
i n
+
+ + +
ì = +ïï
é ù= + +í ë ûï= -ïî
(5)
6.1.4. Phƣơng pháp Euler cải tiến
p Có thể làm tăng độ chính xác cho phƣơng pháp Euler cải tiến
bằng cách áp dụng phƣơng pháp lặp đơn cho tính các giá trị yi
Ø Lấy
Ø Lặp lại theo k>=1
Ø Khi thấy thì dừng lại và lấy
(0)1 ( , )i i i iy y hf x y+ = +
1
( ) ( 1)1 1( , ) ( , )
2i
k ki i i i i
hy y f x y f x y
+
-+ +
é ù= + +ë û
1 1
( ) ( 1)
i i
k ky y+ +
-- £1
( )1 i
kiy y
++ »
6.1.5. Phƣơng pháp Runge-Kutta 4 (RK4)
p Công thức
p Nhận xét: PP RK4 có độ chính xác cao (h4)
1
2 1
3 2
4 3
1 1 2 3 4
( , )
1( , )
2 2
1( , )
2 2
( , )
12 2
6
n n
n n
n n
n n
n n
k h f x y
hk h f x y k
hk h f x y k
k h f x h y k
y y k k k k+
=
= + +
= + +
= + +
= + + + +
(6)
6.1.5. Phƣơng pháp Runge-Kutta 4 (RK4)
p Ví dụ: Sử dụng pp RK4, giải bài toán với bƣớc h=0,2 (n=5)
p HD: Chia đoạn [0,1] thành 5 đoạn bởi xi =0,2*i, i=1,2,3,4,5.
Ta có:
trong đó
' , 0 1
(0) 1
y x y x
y
= - £ £ìí
=î
1 0 0y y y= + D
0 1 2 3 4
12 2
6y k k k kD = + + +
6.1.5. Phƣơng pháp Runge-Kutta 4 (RK4)
p Tiếp theo, tính trong đó
Với
Tiếp tục quá trình cho đến khi tìm đƣợc y5
2 1 1y y y= + D1 1 2 3 4
12 2
6y k k k kD = + + +
6.2. Giải gần đúng bài toán biên tuyến tính
p Xét bài toán biên tuyến tính
trong đó, là các hàm đã biết, xác định trên [a,b],
là các hằng số đã biết, thỏa mãn
0 1
0 1
'' ( ) ' ( ) ( ) ( )
( ) '( )
( ) '( )
y p x y q x y f x a x b
y a y a A
y b y b B
+ + = £ £ìï
+ =íï + =î
(7)
( ), ( ), ( )p x q x f x
1 2 1 2, , , , ,A B
1 2 1 20; 0+ > + >
6.2. Phƣơng pháp sai phân giải bài toán biên
p Xét bài toán biên tuyến tính (7)
p Chia đoạn [a,b] thành n phần bằng nhau:
p Ký hiệu
p Ta thay gần đúng đạo hàm bởi các công thức
( 0,1,2, , )ix a ih i n
b ah
n
= + =
-=
( ), ( ), ( )
( ), ' '( ), '' ''( )
i i i i i i
i i i i i i
p p x q q x f f x
y y x y y x y y x
= = =
= = =
1 1 1 12
' '1 0 10
2'( ) ' , ''( ) ''
2
,
i i i i ii i i i
n nn
y y y y yy x y y x y
h h
y y y yy y
h h
+ - + -
-
- - +» = » =
- -= =
6.2. Phƣơng pháp sai phân giải bài toán biên
p Khi đó, bào toán (7) đƣợc xấp xỉ bởi bài toán sau:
Nhƣ vậy, ta cần giải hệ (n+1) phƣơng trình để xác định (n+1) ẩn.