Chöông 6
GIAÛI GAÀN ÑUÙNG
PHÖÔNG TRÌNH VI PHAÂN
I. GIẢI GẦN ĐÚNG PTVP CẤP 1 :
Xét bài toán Cauchy : tìm nghiệm y=y(x) của
phương trình vi phân với giá trò ban đầu y
0
y’ = f(x, y), ∀x ∈ [a,b]
y(a) = y
0
Các phương pháp giải gần đúng :
Công thức Euler
Công thức Euler cải tiến
Công thức Runge-Kutta
1. Công thức Euler :
Để tìm nghiệm gần đúng của bài toán Cauchy
ta chia đoạn [a,b] thành n đoạn nhỏ bằng nhau
với bước h = (b-a)/n
x
o
= a, x
1
= x
0
+h, ... , x
k
) + (x
k+1
-x
k
)
2
y’’(ξ
k
)/2
với ξ
k
∈ (x
k
, x
k+1
)
Công thức Euler :
y
k+1
= y
k
+ h f(x
k
, y
k
) , k = 0, n-1
với h = x
k+1
- x
Coâng thöùc Euler
y
0
= 0.5
y
k+1
= y
k
+ h f(x
k
, y
k
) = y
k
+ 0.2 (y
k
- x
k
2
+1)
0.18268312.64085912.45817615
0.13874952.12722951.988480.84
0.09854061.64894061.55040.63
0.06208771.21408771.1520.42
0.02929860.82929860.80.21
00.50.500
|y(x
k
) - y
= hf(x
k
, y
k
),
k
2
= hf(x
k
+h, y
k
+ k
1
)
vụựi h = x
k+1
- x
k
Ví dụ : Dùng công thức Euler cải tiến tìm nghiệm
gần đúng của bài toán Cauchy
y’ = y – x
2
+1, 0≤x≤1
y(0) = 0.5
với n = 5
Tính sai số biết nghiệm chính xác là :
y(x) = (x+1)
2
– 0.5e
k
1
= 0.2(y
k
- x
k
2
+1)
k
2
= 0.2(y
k
+ k
1
– (x
k
+0.2)
2
+1)
0.02322.64085912.617687615
0.01702.12722952.11023570.84
0.01171.64894061.63724240.63
0.00721.21408771.206920.42
0.00330.82929860.8260.21
00.50.500
|y(x
k
) - y
k
|y(x