Tải bản đầy đủ (.pdf) (20 trang)

phương pháp tính nguyễn quốc lân c1 giải gần đúng phương trình phi tuyến f(x)=0 sinhvienzone com

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (239.58 KB, 20 trang )

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ãyxn  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

/>


×