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

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

Transcript of Phương pháp số và lập trình - Giải phương trình vi phân

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

1. Giới thiệu

Vấn đề giải số phương trình vi phân

Các loại phương trình vi phân và cách giải.

1. Các phương pháp giải bài toán Cauchy

Phương pháp chuỗi lũy thừa

Giải gần đúng phương trình vi phân thường

Phương pháp chuỗi lũy thừa

Phương pháp Euler

Phương pháp Runge-Kutta

3. Các phương pháp giải bài toán điều kiện biên hai điểm

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

1. Biết một số cách giải phương trình vi phân bậc

nhất.

2. Hiểu giải thuật và vẽ được lưu đồ tương ứng

Mục tiêu

2. Hiểu giải thuật và vẽ được lưu đồ tương ứng

cho từng phương pháp.

3. Viết được chương trình giải bài toán Cauchy.

Page 4: Phương pháp số và lập trình - Giải phương trình vi phân
Page 5: Phương pháp số và lập trình - Giải phương trình vi phân
Page 6: Phương pháp số và lập trình - Giải phương trình vi phân

- Đại đa số các bài toán khoa học kỹ thuật đều có thể mô tảqua các phương trình vi phân và các điều kiện cụ thể.

- Các phương trình vi phân đặc trưng cho mối quan hệ giữacác đại lượng.

- Khó tìm lời giải giải tích do ngày càng phức tạp.

���� Giải số

Giới thiệu

���� Giải số

Có thể chia thành 2 loại:1. Phương trình vi phân đạo hàm riêng.2. Phương trình vi phân thường.

Page 7: Phương pháp số và lập trình - Giải phương trình vi phân

Phương trình vi phân thường bậc cao

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

Bài toán Cauchy

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

Các phương pháp giải bài toán Cauchy

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

Khai triển Taylor hàm y(x) tại lân cận của điểm x0:

Ta có:

Phương pháp chuỗi lũy thừa

( ) ( ) ( ) ( )2

0 0 0 0 0 0 0

1 1( ) ( ) '( ) ''( ) ... ( ) ...

2! !nny x y x y x x x y x x x y x x x

n= + − + − + + − +

Về nguyên tắc, có thể tính với n bất kì =>

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

Phương pháp chuỗi lũy thừa

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

Phương pháp chuỗi lũy thừa

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

Phương pháp Euler hiện bậc nhấtCông thức sai phân hữu hạn

Công thức tổng quát:

Phương pháp Euler

y

' 11

'1 1

n nn

n n n

y yy

x

y y xy

−−

− −

−=∆

→ = + ∆

( ),y y xf x y= + ∆

0x n x+ ∆0x x

( )1 1 1,n n n ny y xf x y− − −= + ∆

Quy trình:

- Xác lập công th ức đạo hàm f(x,y),

- Nhập vào các biên x 0, x1, số điểm n cần tính, điều ki ện đầu y0

- Tính

- For i=1, n: Tính và

( )1 0 /h x x n= −

1i ix x h−= + ( )1 1 1,i i i iy y hf x y− − −= +

Page 14: Phương pháp số và lập trình - Giải phương trình vi phân
Page 15: Phương pháp số và lập trình - Giải phương trình vi phân
Page 16: Phương pháp số và lập trình - Giải phương trình vi phân
Page 17: Phương pháp số và lập trình - Giải phương trình vi phân

Phương pháp Euler

Phương pháp Euler ẩn bậc nhất

Sử dụng công thức sai phân hữu hạn tại điểm yn

' 1n nn

y yy

x−−=

Công thức tổng quát

( )1 ,n n n ny y xf x y−= + ∆

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

Phương pháp Euler

Phương pháp Euler cải tiến

Sử dụng công thức sai phân hữu hạn tại điểm giữa

Công thức tổng quát

1 21 2n n

k ky y −

+= +

\ với

1 1 1/2,2n n n n

xy y xf x y− − −

∆ = + ∆ +

2

( )1 n 1 1

12 n 1 1

,

,2 2

n

n

k hf x y

khk hf x y

− −

− −

=

= + +

Page 19: Phương pháp số và lập trình - Giải phương trình vi phân
Page 20: Phương pháp số và lập trình - Giải phương trình vi phân
Page 21: Phương pháp số và lập trình - Giải phương trình vi phân
Page 22: Phương pháp số và lập trình - Giải phương trình vi phân

Phương pháp Runge-Kutta

Khai triển Taylor bậc bốn quanh điểm ta thu đượccông thức Runge-Kutta bậc bốn:

+ = + + + +

=

1 1 2 3 4

1

1( 2 2 )6

( , )

k k

k k

y y K K K K

K hf x y

Kh

/ 2x h+

= + +

= + +

= + +

12

23

4 3

( , )2 2

( , )2 2

( , )

k k

k k

k k

KhK hf x y

KhK hf x y

K hf x h y K

Page 23: Phương pháp số và lập trình - Giải phương trình vi phân
Page 24: Phương pháp số và lập trình - Giải phương trình vi phân
Page 25: Phương pháp số và lập trình - Giải phương trình vi phân
Page 26: Phương pháp số và lập trình - Giải phương trình vi phân
Page 27: Phương pháp số và lập trình - Giải phương trình vi phân
Page 28: Phương pháp số và lập trình - Giải phương trình vi phân
Page 29: Phương pháp số và lập trình - Giải phương trình vi phân
Page 30: Phương pháp số và lập trình - Giải phương trình vi phân
Page 31: Phương pháp số và lập trình - Giải phương trình vi phân
Page 32: Phương pháp số và lập trình - Giải phương trình vi phân
Page 33: Phương pháp số và lập trình - Giải phương trình vi phân
Page 34: Phương pháp số và lập trình - Giải phương trình vi phân
Page 35: Phương pháp số và lập trình - Giải phương trình vi phân