18
PHƯƠNG PHÁP SPHƯƠNG PHÁP SVÀ LP TRÌNH GV: Hoàng Đỗ Ngc Trm

Phương pháp số và lập trình - Giải phương trình phi tuyến

Embed Size (px)

Citation preview

Page 1: Phương pháp số và lập trình - Giải phương trình phi tuyến

PHƯƠNG PHÁP SỐPHƯƠNG PHÁP SỐVÀ LẬP TRÌNH

GV: Hoàng Đỗ Ngọc Trầm

Page 2: Phương pháp số và lập trình - Giải phương trình phi tuyến

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∈

Page 3: Phương pháp số và lập trình - Giải phương trình phi tuyến

Phương pháp chia đôi

f(c )

c

Page 4: Phương pháp số và lập trình - Giải phương trình phi tuyến

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ố.

Page 5: Phương pháp số và lập trình - Giải phương trình phi tuyến

Phương pháp chia đôi

Page 6: Phương pháp số và lập trình - Giải phương trình phi tuyến

Phương pháp nội suy tuyến tính

Xác địnhc?

c

c?

Page 7: Phương pháp số và lập trình - Giải phương trình phi 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 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 ac

f b f a

−=−

Page 8: Phương pháp số và lập trình - Giải phương trình phi tuyến

c=[af(b)-bf(a)]/[f(b)-f(a)]=

Phương pháp nội suy tuyến tính

Page 9: Phương pháp số và lập trình - Giải phương trình phi tuyến

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

20 0 0 0 0

1f(x) = f(x ) + (x - x )f'(x ) + (x - x ) f''(x ) + ...

2!

f(x )

Tương tự, ta có:

=> Xn+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≈ → ≈ − 00 0 0 0

0

f(x )f(x ) f(x ) + (x - x )f'(x ) x x

f'(x )

= − nn+1 n

n

f(x )x x

f'(x )

Page 10: Phương pháp số và lập trình - Giải phương trình phi tuyến

Phương pháp Newton - Raphson

Page 11: Phương pháp số và lập trình - Giải phương trình phi tuyến

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ố.

1n

n nn

+= = −c a af'(a )

Page 12: Phương pháp số và lập trình - Giải phương trình phi tuyến

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ụ

Page 13: Phương pháp số và lập trình - Giải phương trình phi tuyến

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

Page 14: Phương pháp số và lập trình - Giải phương trình phi tuyến

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:

ε

1n n n−= − = −f(a ) a - ac = a a a

PP nội suy tuyếntí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ố.

11

1

n n nn n n

n n n

−+

= − = −c = a a af'(a ) f(a ) - f(a )

Page 15: Phương pháp số và lập trình - Giải phương trình phi tuyến

Phương pháp dây cung – cát tuyến

Page 16: Phương pháp số và lập trình - Giải phương trình phi 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)

1n 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)

Page 17: Phương pháp số và lập trình - Giải phương trình phi tuyến

Phương pháp lặp

Y=f(x)Y=x

Page 18: Phương pháp số và lập trình - Giải phương trình phi tuyến

Bài tập