Page 282 - Applied Numerical Methods Using MATLAB
P. 282
PREDICTOR–CORRECTOR METHOD 271
h 2 − f k−3 + f k−2 − 3f k−1 + 11 1 3 (4)
1
3
y k+1 = y k + hf k + 3 2 6 f k + h f k +· · ·
2 h 4
h 3 −f k−3 + 4f k−2 − 5f k−1 + 2f k 11 2 (4)
+ + h f k +· · ·
3! h 2 12
h 4 −f k−3 + 3f k−2 − 3f k−1 + f k 3 (4) h 5 (4)
+ + hf k + ··· + f k +· · ·
4! h 3 2 120
h 251 5 (4)
= y k + (−9f k−3 + 37f k−2 − 59f k−1 + 55f k ) + h f k +· · ·
24 720
(6.4.1a) 251 5 (4)
≈ p k+1 + h f k (6.4.3a)
720
1
3
h 2 − f k−2 + f k−1 − 3f k + 11 f k+1 1 3 (4)
y k+1 = y k + hf k+1 − 3 2 6 + h f k+1 +· · ·
2 h 4
h 3 −f k−2 + 4f k−1 − 5f k + 2f k+1 11 2 (4)
+ + h f k+1 + ···
3! h 2 12
h 4 −f k−2 + 3f k−1 − 3f k + f k+1 3 (4) h 5 (4)
− + hf k+1 +· · · + f k+1 +· · ·
4! h 3 2 120
h 19 5 (4)
= y k + (f k−2 − 5f k−1 + 19f k + 9f k+1 ) − h f k+1 +· · ·
24 720
(6.4.1b) 19 5 (4)
≈ c k+1 − h f k+1 (6.4.3b)
720
These derivations are supported by running the MATLAB program “ABMc1.m”.
%ABMc1.m
%another way to get the ABM coefficients together with the error term
clear, format rat
for i = 1:3, [ci,erri] = difapx(i,[-3 0]); c(i,:) = ci; err(i) = erri;
end
cAP = [0 0 0 1]+[1/2 1/6 1/24]*c, errp = -[1/2 1/6 1/24]*err’ + 1/120
cAC = [0 0 0 1]+[-1/2 1/6 -1/24]*c, errc = -[-1/2 1/6 -1/24]*err’ + 1/120
format short
(4) (4)
∼
= f
From these equations and under the assumption that f ∼ = K,wecan
k+1 k
write the predictor/corrector errors as
251 5 (4) 251 5
=
E P,k+1 = y k+1 − p k+1 ≈ h f k ∼ Kh (6.4.4a)
720 720
19 5 (4) 19 5
= −
E C,k+1 = y k+1 − c k+1 ≈− h f k+1 ∼ Kh (6.4.4b)
720 720