BỘ MÔN TOÁN ỨNG DỤNG - ĐHBK
om
-------------------------------------------------------------------------------------
e.
C
PHƯƠNG PHÁP TÍNH – HK2 0506
en
Z
on
CHƯƠNG 1
GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH PHI
Si
nh
Vi
TUYẾN f(x) = 0
•
SinhVienZone.com
TS. NGUYỄN QUỐC LÂN (02/2006)
/>
NỘI DUNG
--------------------------------------------------------------------------------------------------------------------------
e.
C
2– PHƯƠNG PHÁP CHIA ĐÔI
om
1– KHÁI NIỆM TỔNG QUÁT. CÔNG THỨC SAI SỐ
en
Z
on
3– PHƯƠNG PHÁP LẶP ĐƠN
Si
nh
Vi
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.
SinhVienZone.com
/>
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
om
Khoảng cách ly nghiệm: Đoạn [a, b] (hoặc khoảng (a, b) ),
e.
C
trên đó phương trình (1) có nghiệm duy nhất
en
Z
on
VD: Phương trình x – cosx = 0 có khoảng cách ly nghiệm:
Si
nh
Vi
Đ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!)
SinhVienZone.com
/>
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
e.
C
om
nghiệm chính xác trên khoảng cách ly nghiệm [a, b]
en
Z
on
gần đúng đã biết
x a , b : Nghiệm
x
f ' x m 1 0 x a , b m 1 min f ' x
a ,b
f x
m1
Si
nh
Vi
VD: P/trình f(x) = x – cosx = 0 có khoảng cách ly nghiệm [0,1]
Nếu chọn nghiệm gần đúng
Giải:
x 0 . 739
x
a / 0 . 00014 ?
:
b / 0 . 00015 ?
Ghi nhớ: Sai số luôn làm tròn lên
SinhVienZone.com
/>
PHƯƠNG PHÁP CHIA ĐÔI
--------------------------------------------------------------------------------------------------------------------------
om
Ý tưởng: Liên tục chia đôi khoảng cách ly nghiệm
e.
C
f(x) = 0 trên KCL nghiệm [a, b]. Ký hiệu: a0 = a, b0 = b
c0
b0
en
Z
a0
on
f(a0).f(b0) < 0. Chia đôi: c0 = (a0 + b0)/2 KCL nghiệm mới?
Si
nh
Vi
f(a0).f(c0) < 0: KCL mới [a0, c0]
Dừng với nghiệm xấp xỉ
Công thức sai số:
x cn
x
b a
2
SinhVienZone.com
n 1
a0
c0
b0
f(c0).f(b0) < 0 [c0, b0]
(trung điểm ở hàng thứ n)
n
b a
log
log 2
/>
1
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
e.
C
om
khoảng cách ly nghiệm [0, 1] với sai số 0.2
an
bn
cn
n
Si
nh
Vi
en
Z
n
on
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
SinhVienZone.com
/>
DÃY LẶP ĐƠN
----------------------------------------------------------------------------------------------------------------------------
om
Dãy lặp đơn: Dãyxn xác đònh xn+1 = (xn), (x): hàm lặp
e.
C
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 (x0 bất kỳ). Từ đó,
b / y n 1
c / z n 1
3
zn
15
n
ny
n
1
xn
n
0
0
1
1
2
2
Si
nh
Vi
a / x n 1
xn
cos
10
en
Z
on
đ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
zn
Dãy lặp đơn xn = (xn-1) hội tụ về là nghiệm p/t x = (x)
SinhVienZone.com
/>
DÃY LẶP ĐƠN HỘI TỤ
--------------------------------------------------------------------------------------------------------------------------
Minh hoạ sự hội tụ của dãy lặp đơn: xn+1 = (xn) = axn + b
Si
nh
Vi
en
Z
on
e.
C
om
Dãy lặp hội tụ về nghiệm p/trình: x = (x) = b/(1 – a)
SinhVienZone.com
/>
DÃY LẶP ĐƠN PHÂN KỲ
e.
C
om
-------------------------------------------------------------------------------------------------------------
Si
nh
Vi
en
Z
on
Phân kỳ
Hội tụ khi dãy {xn} “co” lại
SinhVienZone.com
x 2 x1 x1 x 0
/>
q x1 x 0
HÀM CO
-----------------------------------------------------------------------------------------------------------------------------------------
x y q x y
e.
C
x , y a , b :
om
Hàm y = (x) co trên [a, b] với hệ số co q q, 0 < q < 1:
on
|’(x)| q < 1 x[a, b] (x) co trên [a, b] với hệ số co q
en
Z
VD: Hàm y = x2 co trên [-1/4, 1/4]???
Si
nh
Vi
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 đó
a / x cos x , x 0 ,1
b / x arcsin
c / x
1
x
2
x , x R
1 , x a , b , 0 a b
SinhVienZone.com
/>
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]
om
Đưa pt f(x) = 0 về dạng lặp đơn x = (x), co trên [a, b]
on
e.
C
Lấy x0 bất kỳ [a,b] Dãy lặp xn+1 = (xn)
en
Z
Chú ý: Nhiều cách chọn hàm càng đơn giản càng tốt
Si
nh
Vi
Ước lượng sai số (q: hệ số co của hàm lặp đơn (x) )
Tiên nghiệm:
Hậu nghiệm:
xn
q
n
x1 x 0
1 q
q
xn
x n x n 1
1 q
Số lần lặp tối thiểu:
xn
n
log 1 q x 1 x 0
log q
SinhVienZone.com
/>
VÍ DỤ PHƯƠNG PHÁP LẶP ĐƠN
---------------------------------------------------------------------------------------------------------------------------
e.
C
Giải: Khoảng cách ly nghiệm
om
Xấp xỉ nghiệm ptrình f(x) = x3 + x – 1000 = 0 với sai số 10-8
on
Lặp đơn: x = 1000 – x3 = (x): Kiểm tra điều kiện co?
Xây dựng hàm lặp mới:
Sai số:
xn
3
en
Z
x 0 9 ,10
x n 1 x n
Si
nh
Vi
Dãy lặp:
x
q
1 q
SinhVienZone.com
x n x n 1
3
1000 x x
Hàm co?
1000 x n
n
xn
0
/>
n
CẢI TIẾN PHƯƠNG PHÁP LẶP ĐƠN
------------------------------------------------------------------------------------------------------------------------------
om
Nhận xét: q = 0.0034 << 1 Hội tụ rất nhanh
e.
C
Vấn đề: Xây dựng hàm với q << 1?
on
Tìm số lần lặp để xấp xỉ nghiệm x – cosx = 0 trên [0,1] với
en
Z
phương pháp lặp đơn, x0 = 0 với sai số 10-8
Si
nh
Vi
Giải: Dạng lặp x = cosx = (x) q =
x0 = 0 x1 = (x0) = 1
Ước lượng sai số tiên nghiệm:
Cải tiến tốc độ: Lặp Newton
SinhVienZone.com
f x 0 x x
f x
f 'x
/>
x
PHƯƠNG PHÁP LẶP NEWTON (TIẾP TUYẾN)
-------------------------------------------------------------------------------------------------------------------------
om
f 'x
x n 1 g x n
xn
: hội tụ nhanh
f xn
f 'xn
en
Z
Si
nh
Vi
•Minh hoạ hình học:
f x
on
•Công thức lặp Newton:
x g x x
e.
C
f(x) = 0 Dạng lặp đơn
SinhVienZone.com
/>
ĐIỀU KIỆN LẶP NEWTON – SAI SỐ
en
Z
on
e.
C
Lặp Newton thất bại:
•
•
•
•
•
•
•
om
--------------------------------------------------------------------------------------------------------------------------
Si
nh
Vi
Đ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(x0) . f’’(x0) > 0 (ĐK Fourier)
•Ước lượng sai số : Công thức tổng quát (chủ yếu) hoặc
xn
M
2
2 m1
SinhVienZone.com
x n x n 1 , M
2
2
max
a ,b
f"
•(Phức tạp hơn)
/>
VÍ DỤ LẶP NEWTON – TIẾP TUYẾN
-------------------------------------------------------------------------------------------------------------------------
om
Giải xấp xỉ f(x) = x – cosx = 0 trên [0, 1], sai số 10–8
Si
nh
Vi
Sai số :
on
en
Z
2/ Xây dựng dãy lặp:
e.
C
1/ Kiểm tra điều kiện hội tụ
n
xn
0
1
SinhVienZone.com
n
/>
HỆ PHI TUYẾN – PP NEWTON – RAPHSON
-------------------------------------------------------------------------------------------------------------------------
f1
x
1
f '(x)
f2
x
1
Ký hiệu ma trận f’(x)
Si
nh
Vi
en
Z
(ma trận Jacobi):
Ký hiệu:
x
k
e.
C
f1
f x 0 , f : R
f2
on
f1 ( x1 , x 2 ) 0
f 2 ( x1 , x 2 ) 0
om
Minh hoạ : Hệ 2 phương trình, 2 ẩn
x1 , x 2 :
k
k
f1
x2
f2
x 2
2
R
2
x1
, x
x2
Có thể tính “giá
trò”
f’(x(0))
tại
“điểm” x(0) cho trước
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
SinhVienZone.com
/>
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ẻ:
f 1 ( x 1 , x 2 ) x 1 3 ln x 1 x 2 0
2
f 2 ( x 1 , x 2 ) 2 x 1 x 1 x 2 5 x 1 1 0
(0)
1 . 5 , 1 . 5
T
on
e.
C
, x
en
Z
Giải: Ma trận A = f’(x)
om
2
n
0
Si
nh
Vi
b “nhỏ”: x(k) gần nghiệm
x(n)
1 .5
Ma trận Jacobian A
Vectơ –f(x(n) )
1 .5
SinhVienZone.com
/>
Vectơ h
ỨNG DỤNG THỰC TẾ: LÝ THUYẾT MẠCH
--------------------------------------------------------------------------------------------------------------------------
R
U
i
L
en
Z
Si
nh
Vi
Nghiệm:
q t q 0 e
Rt
2L
cos
iR , U
L
Kirchhoff:
on
V0
R
e.
C
C
om
Mạch điện: Nguồn (pin) V0, Điện trở R, Tụ C, Cảm ứng L
i
dq
dt
L
di
,U
dt
L
di
C
Ri
dt
L
dt
2
C
q
0
C
2
d q
q
R
dq
dt
q
0
C
2
R
t , q 0 V 0C
LC
2 L
1
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/q0 = 0.01 với t = 0.05s, L = 5H, C = 10–4 F
SinhVienZone.com
/>
LỜI GIẢI VÍ DỤ THỰC TẾ
--------------------------------------------------------------------------------------------------------------------------
e
0 . 005 R
cos
e.
C
f R
2L
2
R
q
0
t
LC
q0
2L
1
2000 0 . 01 R
on
cos
Rt
2
0 . 05
0 . 01 0
en
Z
f R e
om
Biến đổi phương trình thu được (ẩn R)
Khoảng cách ly nghiệm: R [0, 400 ] (2000 – 0.01R2 0)
Si
nh
Vi
Giải thực tế: Đồ thò
P/p chia đôi (n = 21)
P/p Newton
R = 328.1515
SinhVienZone.com
/>