Wednesday, May 09, 2012 Người viết: Ôn Ngũ Minh
GII GN ĐÚNG PHƯƠNG TRÌNH VI PHÂN
1. Phương trình vi phân cp 1
Tìm nghim ca phương trình y' = f(x, y) trên vi a x b, vi điu kin y(a) = y0.
Cách gii xp x: Cho n là s t nhiên dương.
hiu: h =(b – a)/n, xk = x0 + kh, fk = f(xk, yk) , k = 1..n.
d: y' = cosx + 2siny, 0 x 0.4, y(0) = 1, n = 4 h = 0.1.
1.1 Phương pháp Euler
a. Phương pháp Euler
y0 là giá tr khi to đã cho,
Vi k = 0..n-1: yk+1 = yk + hfk. Sai s là O(h).
Vi ví d trên, ta lp bng như sau:
k 0 1 2 3 4
x 0 0.1 0.2 0.3 0.4
y 1 1.268 1.559 1.857 2.144
S dng máy tính Casio: Đặt cu hình v radian.
0.1M
0X
1Y
Y+M(cosX+2sinY)Y (1) Ghi kết qu vào bng mi khi thc hin lnh này,
X+MX (2)
Lp ln lượt hai lnh (1) và (2) cho ti khi đin đầy bng.
b. Phương pháp Euler ci tiến
y0 là giá tr khi to đã cho,
Vi k = 0..n-1, lp quá trình sau:
yk+1(0) = yk + hfk,
yk+1(m+1) = yk + h/2*(fk + f(xk+1, yk+1(m))), m = 0, 1, 2, ...
Dng khi | yk+1(m+1) – yk+1(m)| < ε. Sai s làm tròn là O(h2).
Vi ví d trên, ta lp bng như sau:
k 0 1 2 3 4
x 0 0.1 0.2 0.3 0.4
y 1.000 1.280 1.575 1.867 2.141
f(x,y) 2.683 2.911 2.980 2.868 2.605
1.268 1.571 1.873 2.154
1.279 1.575 1.867 2.140
1.280 1.575 1.867 2.141
1.280 2.141
S dng máy tính Casio: Đặt cu hình v radian.
0.1M Giá tr ca h = 0.1
0X
1Y
cosX+2sinYF (1) Giá tr f(x, y) này được dùng nhiu ln
Y+MFD (2) D là y
k+1(0)
Y+M÷2(F+cos(X+M)+2sinD)D (3) D là yk+1(m+1), lp liên tiếp
DY (4) Giá tr yk+1(m+1) đã tha mãn sai s
X+MX (5) Tăng X
Lnh (3) được lp cho đến khi 2 giá tr liên tiếp ca M bng nhau. Sau khi thc hin lnh (5) thì
quay v lnh (1).
1.2 Phương pháp Runge – Kutta
a. Phương pháp Runge – Kutta th nht
y0 là giá tr khi to đã cho,
Vi k = 0..n-1:
a = hfk, b = hf(xk + h/2, yk + a/2) , yk+1 = yk + b.
Sai s làm tròn là O(h2).
Vi ví d trên, ta lp bng như sau:
k 0 1 2 3 4
x 0 0.1 0.2 0.3 0.4
y 1.000 1.281 1.578 1.872 2.146
a 0.268 0.291 0.298 0.287
b 0.281 0.297 0.294 0.274
S dng máy tính Casio: Đặt cu hình v radian.
0.1M Giá tr ca h = 0.1
0X
1Y
M(cosX+2sinY)A (1)
M(cos(X+M÷2)+2sin(Y+A÷2))B (2)
Y+BY (3)
X+MX (4)
Lp li t lnh (1).
b. Phương pháp Runge – Kutta th hai
y0 là giá tr khi to đã cho,
Vi k = 0..n-1:
a = hfk, b = hf(xk+ h, yk + a), yk+1 = yk + (a + b)/2, k = 0..n-1.
Sai s làm tròn là O(h2).
Vi ví d trên, ta lp bng như sau:
k 0 1 2 3 4
x 0 0.1 0.2 0.3 0.4
y 1.000 1.281 1.577 1.871 2.146
a 0.268 0.291 0.298 0.287
b 0.281 0.297 0.294 0.275
S dng máy tính Casio: Đặt cu hình v radian.
0.1M Giá tr ca h = 0.1
0X
1Y
M(cosX+2sinY)A (1)
M(cos(X+M)+2sin(Y+A))B (2)
Y+(A+B) ÷2Y (3)
X+MX (4)
c. Phương pháp Runge – Kutta th ba
y0 là giá tr khi to đã cho,
Vi k = 0..n-1:
a = hfk, b = hf(xk + h/2, yk + a/2), c = hf(xk + h, yk + 2b - a)
yk+1 = yk + (a + 4b + c)/6, k = 0..n-1.
Sai s làm tròn là O(h3).
Vi ví d trên, ta lp bng như sau:
k 0 1 2 3 4
x 0 0.1 0.2 0.3 0.4
y 1.0000 1.2808 1.5769 1.8707 2.1451
a 0.2683 0.2911 0.2980 0.2866
b 0.2811 0.2968 0.2945 0.2746
c 0.2919 0.2980 0.2868 0.2613
S dng máy tính Casio: Đặt cu hình v radian.
0.1M Giá tr ca h = 0.1
0X
1Y
M(cosX+2sinY)A (1)
M(cos(X+M÷2)+2sin(Y+A÷2))B (2)
M(cos(X+M)+2sin(Y+2B-A))C (3)
Y+(A+4B+C)÷6Y (4)
X+MX (5)
d. Phương pháp Runge – Kutta th tư
y0 là giá tr khi to đã cho,
Vi k = 0..n-1:
a = hfk, b = hf(xk + h/2, yk + a/2), c = hf(xk + h/2, yk + b/2)
d = hf(xk + h, yk + c), yk+1 = yk + (a + 2b + 2c + d)/6, k = 0..n-1.
Sai s làm tròn là O(h4).
Vi ví d trên, ta lp bng như sau:
k 0 1 2 3 4
x 0 0.1 0.2 0.3 0.4
y 1.00000 1.28084 1.57693 1.87070 2.14504
a 0.26829 0.29115 0.29800 0.28661
b 0.28111 0.29680 0.29449 0.27461
c 0.28165 0.29688 0.29454 0.27512
d 0.29120 0.29800 0.28656 0.25994
S dng máy tính Casio: Đặt cu hình v radian.
0.1M Giá tr ca h = 0.1
0X
1Y
M(cosX+2sinY)A (1)
M(cos(X+M÷2)+2sin(Y+A÷2))B (2)
M(cos(X+M÷2)+2sin(Y+B÷2))C (3)
M(cos(X+M)+2sin(Y+C))D (4)
Y+(A+2B+2C+D) ÷6Y (5)
X+MX (6)
Chú ý: Có th không đủ b nh vi mt s máy, nên cn th trước. Có th ghép trc tiếp biu
thc A vào lnh (2) và lnh (5) như sau:
0.1M Giá tr ca h = 0.1
0X
1Y
M(cos(X+M÷2)+2sin(Y+ M(cosX+2sinY)÷2))B (2)
M(cos(X+M÷2)+2sin(Y+B÷2))C (3)
M(cos(X+M)+2sin(Y+C))D (4)
Y+(M(cosX+2sinY)+2B+2C+D) ÷6Y (5)
X+MX (6)
2. H 2 PHƯƠNG TRÌNH VI PHÂN CP 1
y' = f(x, y, z) y(x0) = y0
z' = g(x, y, z) z(x0) = z0
Ký hiu: xk = x0 + kh, fk = f(xk, yk, zk), gk = g(xk, yk, zk), k = 0, 2, ..., n
2. 1. Phương pháp Euler
y0, z0, là các giá tr khi to đã cho,
Vi k = 0..n-1:
yk+1 = yk + hfk,j, zk+1 = zk + hgk,
Sai s làm tròn là O(h).
Ví d:
y' = x + sinz
z' = y + cosz y(1) = 2, z(1) = 3, h = 0.1, n = 4.
Ta lp bng như sau:
k 0 1 2 3 4
x 1 1.1 1.2 1.3 1.4
y 2 2.11 2.22 2.33 2.44
z 3 3.10 3.21 3.33 3.46
S dng máy tính Casio: Đặt cu hình v radian.
0.1E
1X
2Y
3M Thay cho biến Z
Y+E(X+sinM)A (1)
M+E(Y+cosM)M (2)
AY (3)
X+EX (4)
Nếu lnh (1) viết là X+sinMY thì giá tr Y mi này s tham gia vào lnh (2), không
đúng vi gii thut trên.
1.3 Phương pháp Runge – Kutta
a. Phương pháp Runge – Kutta th nht
y0, z0, là các giá tr khi to đã cho,
Vi k = 0..n-1:
a = hf(xk, yk, zk), c = hg(xk, yk, zk),
b = hf(xk+ h/2, yk + a/2, zk + c/2),
d = hg(xk+ h/2, yk + a/2, zk + c/2)
yk+1 = yk + b, zk+1 = zk + d
Sai s làm tròn là O(h2).
Vi ví d trên, ta lp bng như sau:
k 0 1 2 3 4
x 1 1.1 1.2 1.3 1.4
y 2 2.114 2.227 2.338 2.446
z 3 3.106 3.223 3.352 3.495
a 0.114 0.114 0.112 0.109
b 0.114 0.113 0.111 0.108
c 0.101 0.111 0.123 0.136
d 0.106 0.117 0.129 0.143
S dng máy tính Casio: Đặt cu hình v radian.
0.1E
1X
2Y
3M Thay cho biến Z
E(X+sinM)A (1)
E(Y+cosM)C (2)
E(X+E÷2+sin(M+C÷2))B (3)
E(Y+A÷2 + cos(M +C÷2))D (4)
Y+BY (5)
M+DM (6)
X+EX (7)
Nếu s phép gán không được lưu đầy đủ, ta ghép trc tiếp (1) vi (6) vào (4):
0.1E
1X
2Y
3M Thay cho biến Z
E(Y+cosM)C (2)