Hãy giải bài toán trên bằng phương pháp số sử dụng phương pháp Euler và phương pháp Runge Kutta RK4.. Chử Văn Tiệp SPĐN.[r]
Trang 1Chương 5: Giải số phương trình vi phân
Trang 2Phương pháp Euler
Xét bài toán giá trị ban đầu
y0 = f (x , y ), y (x0) = y0.Tính y (x1)?
Khai triển Taylor y (x1) tại điểm x0 ta có
Trang 6Phương pháp chuỗi Taylor
Với xi +1 = xi + h ta có khai triển Taylor:
pk(xi, yi) = f (xi, yi) + 1
2!hf (xi, yi) + · · · +
1(k − 1)!h
(k−1)f(k−1)(xi, yi)
Trang 7Ví dụ
Sử dụng chuỗi Taylor đến cấp 5, tính giá trị xấp xỉ cho y (1) với y là
nghiệm của phương trình vi phân sau
Trang 8Ví dụ
Xét bài toán
2y0+ y = e−x, y (0) = 1/2, 0 ≤ x ≤ 1
Trang 9Phương pháp Euler cải tiến
Trang 16Ví dụ
Áp dụng phương pháp RK cho phương trình
y0= x + y , y (0) = 1
Hãy tính y (1)
Trang 17Nghiệm chính xác của phương trình trên là y (t) = t2+ 2t + 1 − 0.5et
Trang 200 0.2 0.4 0.6 0.8 1 0.5
1 1.5 2 2.5
Trang 21Ví dụ
Bài toán
y0 = 5 sin(4t)
1 + 2t + y2, y (0) = 0không thể giải bằng phương pháp giải tích Hãy giải bài toán trên bằngphương pháp số sử dụng phương pháp Euler và phương pháp Runge Kutta(RK4)
Trang 23Ví dụ
Xét phương trình vi phân cấp 3 sau:
3y000− y00− 5y0− 3y = e−x/2, y (0) = 0, y0(0) = −1, y00(0) = 1.Hãy đưa phương trình trên về hệ phương trình vi phân cấp 1
Trang 24
Trang 26Phương pháp Euler giải hệ phương trình
u0= f(x , u), u(x0) = u0, a = x0 ≤ x ≤ xn = b
Chia khoảng [a, b] thành các khoảng nhỏ có độ dài h sao cho
x1= x0+ h, x2= x0+ 2h, , xn= x0+ nh
Phương pháp Euler giải hệ phương trình có dạng
Trang 28
Nhận xét y (0.2) chính là thành phần đầu tiên của nghiệm vector u(0.2)của hệ trên
Trang 29u(0.2) = u1 = u0+ hf(x0, u0)trong đó
Vậy
y (0.1) = −0.0952
Trang 30Phương pháp chuỗi Taylor
Trang 31Phương pháp Runge-Kutta cho hệ phương trình vi phân
Trang 32
Trang 33Đầu tiên ta cần tính:
u1= u0+1
6h(k1+ 2k2+ 2k3+ k4)trong đó
−1
Trang 34= f
0.05, u0+hk1
−0.9916
Trang 35= f
0.05, u0+hk2
−0.9931
Trang 36
y (0.1) = −0.0952