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
   277   278   279   280   281   282   283   284   285   286   287