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

Post on 22-Jun-2015

1.287 views 2 download

Transcript of 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

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

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.

- Đạ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.

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

Bài toán Cauchy

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

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ì =>

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

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

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− − −= +

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−= + ∆

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

− −

− −

=

= + +

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