BỘ MÔN TOÁN ỨNG DỤNG - ĐHBK
PHƯƠNG PHÁP TÍNH – HK2 0506
CHƯƠNG 1
GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH PHI
TUYẾN f(x) = 0
•
TS. NGUYỄN QUỐC LÂN (02/2006)
NỘI DUNG
1– KHÁI NIỆM TỔNG QUÁT. CÔNG THỨC SAI SỐ
2– PHƯƠNG PHÁP CHIA ĐÔI
3– PHƯƠNG PHÁP LẶP ĐƠN
4– PHƯƠNG PHÁP NEWTON (TIẾP TUYẾN)
5– HỆ PHƯƠNG TRÌNH PHI TUYẾN. PHƯƠNG PHÁP
NEWTON – RAPHSON.
1. KHÁI NIỆM TỔNG QUÁT – CÔNG THỨC SAI SỐ
Phương trình f(x) = 0 (1), f: hàm số liên tục, có đạo hàm
Khoảng cách ly nghiệm: Đoạn [a, b] (hoặc khoảng (a, b) ),
trên đó phương trình (1) có nghiệm α duy nhất
VD: Phương trình x – cosx = 0 có khoảng cách ly nghiệm:
ĐK đủ: [a, b] là KCLN của (1) khi
Đạo hàm f’ không đổi dấu trên
đoạn (hoặc khoảng) (a,b)
f(a).f(b) < 0 (giá trò 2 đầu trái dấu)
Tìm KCLN: Tính f’, lập bảng biến thiên; Cách 2: Đồ thò (máy!)
CÔNG THỨC SAI SỐ
Công thức sai số tổng quát: Phương trình f(x) = 0 (1) với
nghiệm chính xác α trên khoảng cách ly nghiệm [a, b]
VD: P/trình f(x) = x – cosx = 0 có khoảng cách ly nghiệm [0,1]
( )
1
m
xf
x
≤−⇒
α
[ ]
( )
[ ]
[ ]
( )
=⇔∈∀>≥
∈
xfmbaxmxf
bax
ba
'min,0'
:,
,
11
biếtđãđúnggầnNghiệm
Nếu chọn nghiệm gần đúng
∆⇒=
?00015.0/
?00014.0/
:739.0
b
a
x
x
Giải:
Ghi nhớ: Sai số luôn làm tròn lên
PHƯƠNG PHÁP CHIA ĐÔI
Ý tưởng: Liên tục chia đôi khoảng cách ly nghiệm
f(x) = 0 trên KCL nghiệm [a, b]. Ký hiệu: a
0
= a, b
0
= b ⇒
f(a
0
).f(b
0
) < 0. Chia đôi: c
0
= (a
0
+ b
0
)/2 ⇒ KCL nghiệm mới?
Dừng với nghiệm xấp xỉ
n
cx
=
(trung điểm ở hàng thứ n)
0
a
0
b
0
c
f(a
0
).f(c
0
) < 0: KCL mới [a
0
, c
0
]
0
a
0
b
0
c
f(c
0
).f(b
0
) < 0 → [c
0
, b
0
]
Công thức sai số:
1
2
+
−
≤−
n
ab
x
α
( )
1
2log
log
−
−
≥⇔≤
ε
ε
ab
n
VÍ DỤ PHƯƠNG PHÁP CHIA ĐÔI
Xấp xỉ nghiệm của phương trình f(x) = x – cosx = 0 trên
khoảng cách ly nghiệm [0, 1] với sai số 0.2
Giải: Lập bảng chứa mọi kết quả trung gian cần thiết
Tìm n để có thể xấp xỉ nghiệm f(x) = x – cosx = 0 trên khoảng
cách ly nghiệm [0, 1] bằng phương pháp chia đôi, sai số 10
-8
n a
n
b
n
c
n
ε
n
DÃY LẶP ĐƠN
Dãy lặp đơn: Dãy{x
n
} xác đònh x
n+1
= ϕ(x
n
), ϕ(x): hàm lặp
VD: Kiểm tra những dãy sau có là lặp đơn? Nếu có, viết ra
hàm lặp ϕ. Tính 5 số hạng đầu của dãy (x
0
bất kỳ). Từ đó,
đoán tính hội tụ? Tìm liên hệ giữa giới hạn dãy và hàm lặp ϕ
Dãy lặp đơn x
n
= ϕ(x
n-1
) hội tụ về α ⇒ α là nghiệm p/t x = ϕ(x)
1
15
/
/
10
cos/
1
3
1
1
+=
=
=
+
+
+
n
n
nn
n
n
z
zc
nyyb
x
xa
2
1
0
x
n
n
2
1
0
z
n
n
DÃY LẶP ĐƠN HỘI TỤ
Minh hoạ sự hội tụ của dãy lặp đơn: x
n+1
= ϕ(x
n
) = ax
n
+ b
Dãy lặp hội tụ về nghiệm p/trình: x = ϕ(x) ⇒ α = b/(1 – a)
DÃY LẶP ĐƠN PHÂN KỲ
Phân kỳ
Hội tụ khi dãy {x
n
} “co” lại
( ) ( )
010112
xxqxxxx
−≤−=−⇒
ϕϕ
HÀM CO
Hàm y = ϕ(x) co trên [a, b] với hệ số co q ⇔ ∃ q, 0 < q < 1:
[ ]
( ) ( )
yxqyxbayx −≤−∈∀
ϕϕ
:,,
|ϕ’(x)| ≤ q < 1 ∀ x∈[a, b] ⇒ ϕ(x) co trên [a, b] với hệ số co q
VD: Hàm y = x
2
co trên [-1/4, 1/4]???
VD: Trong những hàm sau đây, hàm nào thoả điều kiện co?
Xác đònh hằng số q với các hàm co đó
( )
[ ]
( )
( )
[ ]
babax
x
xc
Rxxxb
xxxa
<<∈+=
∈=
∈=
0,,,1
1
/
,arcsin/
1,0,cos/
2
ϕ
ϕ
ϕ
PHƯƠNG PHÁP LẶP ĐƠN
Ph. trình f(x) = 0. Xác đònh khoảng cách ly nghiệm [a, b]
Đưa pt f(x) = 0 về dạng lặp đơn x = ϕ(x), ϕ co trên [a, b]
Lấy x
0
bất kỳ ∈ [a,b] ⇒ Dãy lặp x
n+1
= ϕ(x
n
) → α
Chú ý: Nhiều cách chọn hàm ϕ ⇒ càng đơn giản càng tốt
Ước lượng sai số (q: hệ số co của hàm lặp đơn ϕ(x) )
01
1
xx
q
q
x
n
n
−
−
≤−
α
Tiên nghiệm:
Hậu nghiệm:
1
1
−
−
−
≤−
nnn
xx
q
q
x
α
Số lần lặp tối thiểu:
⇔≤−
εα
n
x
( )
[ ]
q
xxq
n
log
1log
01
−−
≥
ε
VÍ DỤ PHƯƠNG PHÁP LẶP ĐƠN
Xấp xỉ nghiệm ptrình f(x) = x
3
+ x – 1000 = 0 với sai số 10
-8
Giải: Khoảng cách ly nghiệm
Lặp đơn: x = 1000 – x
3
= ϕ(x): Kiểm tra điều kiện co?
( )
xxx
ϕ
=−=
3
1000
Xây dựng hàm lặp mới: ⇒ Hàm co?
[ ]
( )
−==
∈
+
3
1
0
1000
10,9
nnn
xxx
x
ϕ
Dãy lặp:
Sai số:
1
1
−
−
−
≤−
nnn
xx
q
q
x
α
n x
n
ε
n
0
CẢI TIẾN PHƯƠNG PHÁP LẶP ĐƠN
Nhận xét: q = 0.0034 << 1 ⇒ Hội tụ rất nhanh
Vấn đề: Xây dựng hàm ϕ với q << 1?
Tìm số lần lặp để xấp xỉ nghiệm x – cosx = 0 trên [0,1] với
phương pháp lặp đơn, x
0
= 0 với sai số 10
-8
Giải: Dạng lặp x = cosx = ϕ(x) ⇒ q =
Ước lượng sai số tiên nghiệm:
x
0
= 0 ⇒ x
1
= ϕ(x
0
) = 1
Cải tiến tốc độ: Lặp Newton
( )
( )
( )
( )
x
xf
xf
xxxf
ϕ
=−=⇔=
'
0
PHƯƠNG PHÁP LẶP NEWTON (TIẾP TUYẾN)
f(x) = 0 ⇔ Dạng lặp đơn
•
Minh hoạ hình học:
•
Công thức lặp Newton:
( )
( )
( )
n
n
nnn
xf
xf
xxgx
'
1
−==
+
: hội tụ nhanh
( )
( )
( )
xf
xf
xxgx
'
−==
ĐIỀU KIỆN LẶP NEWTON – SAI SỐ
Lặp Newton thất bại:
•
•
•
•
•
•
•
Điều kiện hội tụ: 1/ Đhàm f’, f” không đổi dấu trên [a, b]
2/ Giá trò lặp ban đầu thoả: f(x
0
) . f’’(x
0
) > 0 (ĐK Fourier)
•
Ước lượng sai số : Công thức tổng quát (chủ yếu) hoặc
( )
[ ]
"max,
2
,
2
2
1
1
2
fMxx
m
M
x
ba
nnn
=−≤−
−
α
•
(Phức tạp hơn)
VÍ DỤ LẶP NEWTON – TIẾP TUYẾN
Giải xấp xỉ f(x) = x – cosx = 0 trên [0, 1], sai số 10
–8
1/ Kiểm tra điều kiện hội tụ
1
2/ Xây dựng dãy lặp:
Sai số :
n x
n
ε
n
0
HỆ PHI TUYẾN – PP NEWTON – RAPHSON
Minh hoạ : Hệ 2 phương trình, 2 ẩn
=
=
0),(
0),(
212
211
xxf
xxf
( )
=→
==⇔
2
1
22
2
1
,:,0
x
x
xRR
f
f
fxf
∂
∂
∂
∂
∂
∂
∂
∂
=
2
2
1
2
2
1
1
1
)('
x
f
x
f
x
f
x
f
xf
Ký hiệu ma trận f’(x)
(ma trận Jacobi):
⇒ Có thể tính “giá
trò” f’(x
(0)
) tại
“điểm” x
(0)
cho trước
Ký hiệu:
( )
[ ]
:,
21
kkk
xxx
=
Bộ nghiệm gần đúng ở bước thứ k
Xem x
(k)
đã biết. Tính x
(k+1)
: giải thuật Newton - Raphson
1/ Tính ma trận A = f’(x
(k)
) (thay x
(k)
vào) & vectơ b = –f(x
(k)
)
2/ Giải hệ p/tr (bằng máy bỏ túi) Ah = b. Tính x
(k+1)
= x
(k)
+ h
VÍ DỤ LẶP NEWTON – RAPHSON VỚI HỆ PHI TUYẾN
Tìm nghiệm gần đúng x
(1)
của hệ phi tuyến sau với 3 chữ số lẻ:
=+−−≡
=−+≡
0152),(
0ln3),(
121
2
1212
2
211211
xxxxxxf
xxxxxf
[ ]
T
x 5.1,5.1,
)0(
−=
Giải: Ma trận A = f’(x)
0
5.1
5.1
−
b “nhỏ”: x
(k)
gần nghiệm
n x
(n)
Ma trận Jacobian A Vectơ –f(x
(n)
) Vectơ h
ỨNG DỤNG THỰC TẾ: LÝ THUYẾT MẠCH
Mạch điện: Nguồn (pin) V
0
, Điện trở R, Tụ C, Cảm ứng L
R
L
0
V
C
i
C
q
U
dt
di
LUiRU
CLR
===
,,
Kirchhoff:
0
=++
C
q
Ri
dt
di
L
0
2
2
=++⇒=
C
q
dt
dq
R
dt
qd
L
dt
dq
i
Nghiệm:
( )
CVqt
L
R
LC
eqtq
L
Rt
00
2
2
0
,
2
1
cos
=
−=
−
Tìm R (L, C đã biết) để năng lượng tiêu hao của mạch có vận
tốc cho trước: q/q
0
= 0.01 với t = 0.05s, L = 5H, C = 10
–4
F
LỜI GIẢI VÍ DỤ THỰC TẾ
Biến đổi phương trình thu được (ẩn R)
( )
0
2
1
cos
0
2
2
=−
−=
−
q
q
t
L
R
LC
eRf
L
Rt
( ) ( )
[ ]
001.005.001.02000cos
2005.0
=−⋅−=⇔
−
ReRf
R
Khoảng cách ly nghiệm: R ∈ [0, 400 Ω] (2000 – 0.01R
2
≥ 0)
Giải thực tế: Đồ thò
P/p chia đôi (n = 21)
P/p Newton
⇒ R = 328.1515 Ω