PHƯƠNG PHÁP SỐ
PHƯƠNG PHÁP SỐ
VÀ LẬP TRÌNH
GV: Hoàng Đỗ Ngọc Trầm
Tìm nghiệm phương trình: f(x)=0
Input data
Xác định khoảng phân ly nghiệm
[a, b]
Hàm f(x)
[a, b]
Tìm nghiệm bằng một trong các phương pháp:
Chia đôi/ Nội suy tuyến tính/
Newton-Raphson/ Cát tuyến - Dây cung/Lặp liên tiếp
Output data
[
]
,
x a b
∈
Phương pháp chia đôi
f(c)
c
Phương pháp chia đôi
1) Cho phương trình f(x) = 0
2) Ấn định sai số .
3) Xác định khoảng phân ly nghiệm [a, b].
-Nếu f(a)=0 thì x=a là một nghiệm chính xác => STOP
-
Nếu f(b)=
0
thì x=b là một nghiệm chính xác => STOP
ε
-
Nếu f(b)=
0
thì x=b là một nghiệm chính xác => STOP
4) Chọn điểm c là điểm giữa của (a, b).
- Nếu f(c)=0 thì x=c là một nghiệm chính xác => STOP
- Nếu như f (c) cùng dấu với f (a) thì thay khoảng (a, b) bằng (c, b).
- Nếu như f (c) cùng dấu với f (b) thì thay khoảng (a, b) bằng (a, c).
Lặp quá trình trên một số bước nào đó, hoặc khoảng chia đôi bé hơn sai số.
Phương pháp chia đôi
Phương pháp nội suy tuyến tính
Xác định
c?
c
c?
1) Cho phương trình f(x) = 0
2) Ấn định sai số .
3) Xác định khoảng phân ly nghiệm [a, b].
4) Chọn điểm c là giao điểm giữa đường thẳng đi qua hai điểm (a, f(a)),
(b,f(b)) và trục Ox
.
ε
Phương pháp nội suy tuyến tính
(b,f(b)) và trục Ox
.
- Nếu f(c)=0 thì x=c là một nghiệm chính xác => STOP
- Nếu như f (c) cùng dấu với f (a) thì thay khoảng (a, b) bằng (c, b).
- Nếu như f (c) cùng dấu với f (b) thì thay khoảng (a, b) bằng (a, c).
Lặp quá trình trên một số bước nào đó, hoặc khoảng chia đôi bé hơn sai số.
. ( ) . ( )
( ) ( )
a f b b f a
c
f b f a
−
=
−
c=[af(b)-bf(a)]/[f(b)-f(a)]=
Phương pháp nội suy tuyến tính
Xét hàm f(x).
Khai triển Taylor f(x) tại điểm x lân cận điểm x
0
:
Giả sử: f(x
1
) = 0, xét khai triển Taylor tại x
1
đến gần đúng bậc 1:
Phương pháp Newton - Raphson
2
0 0 0 0 0
1
f(x) = f(x ) +(x - x )f'(x )+ (x - x ) f''(x ) +
2!
f(x )
Tương tự, ta có:
=> X
n+1
là giao điểm của đường thẳng qua (x
n
, f(x
n
)) và tiếp tuyến với
đồ thị f(x) tại x
n
và trục Ox.
1 1 1
≈ → ≈ −
0
0 0 0 0
0
f(x )
f(x ) f(x ) + (x - x )f'(x ) x x
f'(x )
= −
n
n+1 n
n
f(x )
x x
f'(x )
Phương pháp Newton - Raphson
Phương pháp Newton - Raphson
1) Cho phương trình f(x) = 0
2) Ấn định sai số .
3) Xác định khoảng phân ly nghiệm [a, b].
4) Chọn điểm c:
ε
n
= = −
f(a )
c a a
- Nếu f(c)=0 thì x=c là một nghiệm chính xác => STOP
- Nếu như f (c) cùng dấu với f (a) thì thay khoảng (a, b) bằng (c, b).
- Nếu như f (c) cùng dấu với f (b) thì thay khoảng (a, b) bằng (a, c).
Lặp quá trình trên một số bước nào đó, hoặc khoảng chia đôi bé hơn sai số.
1
n
n n
n
+
= = −
c a a
f'(a )
Phương pháp Newton - Raphson
Đặc điểm:
-Hội tụ nhanh hơn so với PP chia đôi và nội suy tuyến tính
- Không đảm bảo sự hội tụ
Phương pháp dây cung – cát tuyến
Sử dụng sai phân hữu hạn để tính xấp xỉ đạo hàm:
n
≈
n n-1
n n-1
f(x )-f(x )
f'(x )
x - x
Phương pháp dây cung – cát tuyến
1) Cho phương trình f(x) = 0
2) Ấn định sai số .
3) Xác định khoảng phân ly nghiệm [a, b].
4) Chọn điểm c:
ε
1
n n n
−
= − = −
f(a ) a -a
c = a a a
PP nội suy tuyến
tính, giới hạn 1
đầu
- Nếu f(c)=0 thì x=c là một nghiệm chính xác => STOP
- Nếu như f (c) cùng dấu với f (a) thì thay khoảng (a, b) bằng (c, b).
- Nếu như f (c) cùng dấu với f (b) thì thay khoảng (a, b) bằng (a, c).
Lặp quá trình trên một số bước nào đó, hoặc khoảng chia đôi bé hơn sai số.
1
1
1
n n n
n n n
n n n
−
+
−
= − = −
c = a a a
f'(a ) f(a )-f(a )
Phương pháp dây cung – cát tuyến
Phương pháp lặp
Sử dụng phép biến đổi ,
công thức lặp là
g(x) = T(f(x),x)
1
n n
+
x = g(x )
- Dùng khảo sát pt nhiều nghiệm, có vài nghiệm đã biết
-
Tính hiệu quả phụ thuộc việc chọn hàm g(x
)
-
Tính hiệu quả phụ thuộc việc chọn hàm g(x
n
)
Phương pháp lặp
Y=f(x)
Y=x
Bài tập