Phương pháp tính là bộ môn toán học có nhiệm vụ giải đến kết quả bằng số cho các bài toán, nó cung cấp các phương pháp giải cho những bài toán trong thực tế mà không có lời giải chính xác. Môn học này là cầu nối giữa toán học lý thuyết và các ứng dụng của nó trong thực tế. Trong thời đại tin học hiện nay thì việc áp dụng các phương pháp tính càng trở nên phổ biến nhằm tăng tốc độ tính toán.
Trang 11 Phương pháp Euler
Chia [x0, x] thành n đoạn có độ dài h = x − x0
n bởi các mốc x0, x1, , xn 1.1: Công thức Euler hiện
(
yo = y(x0)
yi+1 = yi + hf (xi, yi) 1.2: Công thức Euler cải tiến
yo = y(x0)
yi+1 = yi + h
2[f (xi, yi) + f (xi+ h, yi + hf (xi, yi))]
Nhận xét:
Sai số 1 bước của CT Euler hiện là o(h2)
Sai số 1 bước của CT Euler cải tiến là o(h3)
Ví dụ:
y0 = y − 2x
y , 0 ≤ x ≤ 0, 2 (h = 0, 1) y(0) = 1
Giải gần đúng sử dụng CT Euler cải tiến
Giải:
Ta có: f (x, y) = y − 2x
y ; x0 = 0; h = 0, 1; y0 = 1; X = 0, 2
Áp dụng CT Euler cải tiến
y1 = y0 + h
2
y0 − 2x0
y0
+ f
x0 + h, y0 + h
y0 − 2x0
y0
= 1 + 0, 1
2 [1 + f (0, 1; 1, 1)]
= 1 + 0, 1
2
1 + 1, 1 − 2.0, 1
1, 1
= 1, 0959091
y2 = y1 + h [f (x1, y1) + f (x1 + h, y1 + h.f (x1, y1))]
Trang 22 Phương pháp Runge-Kutta 4 nấc (RK4)
Sai số 1 bước là o(h5))
y0 = y(x0)
yi+1 = yi + 1
6 K
i
1 + 2K2i + 2K3i + K4i trong đó K1i = hf (xi, yi)
K2i = hf
xi + h
2, yi +
K1i 2
K3i = hf
xi + h
2, yi +
K2i 2
K4i = hf xi + h, yi+ K3i
Ví dụ:
(
y0 = x + y, 0 ≤ x ≤ 0, 1 y(0) = 1 với h = 0, 1
Giải:
Ta có: f (x, y) = x + y; x0 = 0; X = 0, 1; h = 0, 1; y0 = 1
Áp dụng CT RK4 ta có:
y0 = 1;
y1 = y0 + 1
6(K1 + 2K2 + 2K3 + K4) trong đó K1 = hf (x0; y0) = 0, 1(0 + 1) = 0, 1
K2 = hf
x0 + 0, 1
2 ; y0 +
0, 1 2
= 0, 1(0, 05 + 1 + 0, 05) = 0, 11
K3 = hf
x0 + 0, 1
2 ; y0 +
0, 11 2
= 0, 1(0, 05 + 1 + 0, 05) = 0, 1105
K4 = hf (0, 1 + x0; y0 + 0, 1105) = 0, 12105 Thay số ⇒ y1 = 1, 11034
Trang 33 Hệ phương trình vi phân
y0(x) = f (x, y, z)
z0(x) = g(x, y, z) y(x0) = y0, z(x0) = z0 Lần lượt áp dụng các phương pháp cho mỗi phương trình, chú ý tính nghiệm (yi, zi)T theo thứ tự các nút xi từ thấp đến cao Ví dụ khi áp dụng phương pháp Euler, ta có:
y(xi+1) = y(xi) + hf (xi, y(xi), z(xi)) z(xi+1) = z(xi) + hf (xi, y(xi), z(xi)) y(x0) = y0; z(x0) = z0
(
y00(x) = f1(x)y0 + f2(x)y + f3(x) y(x0) = y0, y0(x0) = y00
Thực hiện đổi biến y0 = z ⇒ y00 = z
PTVP được chuyển về hệ:
y0(x) = z(x)
z0(x) = f1(x)z + f2(x)y + f3(x) y(x0) = y0, z(x0) = y0(x0)