runge&ku(a*methods* - boston...
TRANSCRIPT
![Page 1: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/1.jpg)
Runge-‐Ku(a Methods
![Page 2: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/2.jpg)
over
Review of Heun’s Method (Deriva:on from Integra:on)
The idea is to construct an algorithm to solve the IVP ODE
(9.1)
To obtain the solution point we can use the fundamental theorem of calculus and integrate over
to get
(9.2)
![Page 3: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/3.jpg)
A numerical integration method can be used to approxi- mate the definite integral in equation (9.3). If the trape- zoidal rule (Lecture 6) is used with the step size
Review of Heun’s Method (Deriva:on from Integra:on)
When equation (9.2) is solved from
(9.3)
the result is
the result is
(9.4)
![Page 4: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/4.jpg)
we use Euler’s forward method
Review of Heun’s Method (Deriva:on from Integra:on)
Notice that the formula on the right hand side of (9.4) involves the yet to be determined value To estimate
or, for our case (9.5)
Substituting (9.5) into (9.4), the resulting formula is called Heun’s method, given as
(9.6)
![Page 5: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/5.jpg)
Review of Heun’s Method (Deriva:on from Integra:on)
In Heun’s method, at each step: (a) the Euler’s (forward) method is used as a prediction, and
then, (b) the trapezoidal rule is used to make a correction to obtain
the final value.
The general step for Heun’s method is
Predictor:
Corrector: (9.7)
![Page 6: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/6.jpg)
Example 9.1
Use Heun’s method to solve the IVP
Solution:
Compare solutions for
(1) For
we use to calculate
![Page 7: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/7.jpg)
Example 9.1
Thus, the corrector:
which we use to calculate
, the predictor:
![Page 8: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/8.jpg)
Example 9.1
xi yi yexact h = 0.5 h = 0.25 h = 0.125
0 1.0 1.0 1.0 1.0 0.125 0.943359 (0.0127%) 0.943239 0.25 0.898438 (0.1055%) 0.897717 (0.0252%) 0.897491 0.375 0.862406 (0.037%) 0.862087 0.5 0.84375 (0.8785%) 0.838074 (0.1999%) 0.836801 (0.0477%) 0.836402 0.75 0.814081 (0.2726%) 0.812395 (0.0649%) 0.811868 1 0.831055 (1.3986%) 0.822196 (0.3177%) 0.820213 (0.0758%) 0.819592 1.5 0.930511 (1.4623%) 0.920143 (0.3318%) 0.917825 (0.0791%) 0.917100 2 1.117587 (1.2639%) 1.106800 (0.2865%) 1.104392 (0.0683%) 1.103638 2.5 1.373115 (1.0004%) 1.362593 (0.2265%) 1.360248 (0.054%) 1.359514 3 1.682121 (0.7626%) 1.672269 (0.1725%) 1.670076 (0.0411%) 1.669390
![Page 9: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/9.jpg)
MATLAB Implementa:ons function [x,y] = HeunMethod(f,xinit,xend,yinit,h) % Number of iterationsN = (xend-xinit)/h; x = zeros(1, N+1);y = zeros(1, N+1); y(1) = yinit;x(1) = xinit; for i=1:N x(i+1) = x(i)+h; y0 = y(i) + feval(f,x(i),y(i))*h; pred1 = feval(f,x(i),y(i)); pred2 = feval(f,x(i+1),y0); y(i+1) = y(i) + h*(pred1+pred2)/2;end
function dydx = Example_HeunMethod(x,y) dydx = (x-y)/2; end
![Page 10: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/10.jpg)
MATLAB Implementa:ons
![Page 11: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/11.jpg)
Runge-‐Ku(a Method
Here we see that Heun's method is an improvement over the rather simple Euler’s (forward) method. Although the method uses Euler's method as a basis, it goes beyond it, it attempts to compensate for the Euler method's failure to take the curvature of the solution curve into account. Heun's method is one of the simplest of a class of methods called predictor-corrector algorithms. One of the most powerful predictor-corrector algorithms of all—one which is so accurate, that most computer packages designed to find numerical solutions for differential equations will use it by default— is the fourth order Runge-Kutta method.
![Page 12: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/12.jpg)
Second-‐Order Runge-‐Ku(a Methods The 2nd order Runge-Kutta method simulates the accuracy of the Taylor series method of order 2. Recall the Taylor series formula for
Where CT is a constant involving the third derivative of and the other terms in the series involve powers of for n > 3.
(9.8)
The derivatives must be expressed in terms of and its partial derivatives. Recall that
(9.9)
![Page 13: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/13.jpg)
Second-‐Order Runge-‐Ku(a Methods Equation (9.9) can be differentiated using the chain rule for differentiating a function of two variables, for example:
then
Back to the equation (9.9),
![Page 14: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/14.jpg)
Second-‐Order Runge-‐Ku(a Methods Another notation for partial derivatives:
hence (9.10)
Substitute the derivatives (9.9) and (9.10) into the Taylor series (9.8):
(9.11)
![Page 15: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/15.jpg)
Second-‐Order Runge-‐Ku(a Methods For second order, equation (9.11) can be rewritten as a linear combination of two function values to express
where (9.12)
Next, we determine the values of A, B, P and Q.
(9.13)
![Page 16: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/16.jpg)
Second-‐Order Runge-‐Ku(a Methods Recall Taylor series for functions more than one variable (Lecture 1):
and use it to expand f1 in equation (9.13) to get
(9.14)
![Page 17: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/17.jpg)
Second-‐Order Runge-‐Ku(a Methods Then (9.14) is used in (9.12) to get the second-order Runge-Kutta expression for
(9.15)
or
![Page 18: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/18.jpg)
Second-‐Order Runge-‐Ku(a Methods Comparing similar terms in equations (9.11) and (9.15):
implies that
implies that
implies that
![Page 19: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/19.jpg)
Second-‐Order Runge-‐Ku(a Methods
The second-order Runge-Kutta method in (9.15) will have the same order of accuracy as the Taylor’s method in (9.11).
Now, there are 4 unknowns with only three equations, hence the system of equations (9.16) is undetermined, and we are permitted to choose one of the coefficients.
Hence, we require that A, B, P, and Q satisfy the relations
(9.16)
Case (i): Choose
This choice leads to
![Page 20: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/20.jpg)
Second-‐Order Runge-‐Ku(a Methods Substituting these values into equation (9.12) and (9.13) yields If we break it down, eqn. (9.17) can be written as This method is also called Heun’s method with a single corrector.
(9.17)
![Page 21: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/21.jpg)
Second-‐Order Runge-‐Ku(a Methods Case (ii): Choose
This choice leads to
Substituting these values into equation (9.12) and (9.13) yields or
(9.18)
![Page 22: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/22.jpg)
Second-‐Order Runge-‐Ku(a Methods Case (iii): Choose
This choice leads to
Substituting these values into equation (9.12) and (9.13) yields or
(9.19)
A =1
3
B =2
3and P = Q =
3
4.
y(x+ h) = y(x) +h
3f(x, y) +
2h
3f(x+
3h
4, y +
3h
4f(x, y))
![Page 23: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/23.jpg)
Example 9.2 MATLAB implementations of 2nd order Runge-Kutta methods for IVP
![Page 24: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/24.jpg)
Example 9.2 MATLAB implementations of 2nd order Runge-Kutta methods for IVP
![Page 25: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/25.jpg)
Example 9.3 Write a Matlab solver using third-order Runge-Kutta method with A = 0, A = 1/2, and A = 1/3, and apply to the following problem from x = 0 to x = 4 using a step size of 5. The initial condition at x = 0 is y = 0. Compare the results. Refine the step size to 0.25 and 0.1 and calculate the relative error.
dy
dx
= �2x3 + 12x2 � 20x+ 8.5
![Page 26: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/26.jpg)
Third-‐Order Runge-‐Ku(a Methods
The general formula is
where
(9.20)
![Page 27: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/27.jpg)
Fourth-‐Order Runge-‐Ku(a Methods
The classical fourth-order Runge-Kutta method
where
(9.21)
![Page 28: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/28.jpg)
Higher-‐Order Runge-‐Ku(a Methods
(1) Butcher’s fifth-order Runge-Kutta method:
(9.22) where
![Page 29: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/29.jpg)
Higher-‐Order Runge-‐Ku(a Methods
(1) Butcher’s fifth-order Runge-Kutta method:
![Page 30: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/30.jpg)
Example 9.4 MATLAB implementations of 2nd order, 3rd order, and 4th order Runge-Kutta methods for IVP
and step size
The exact solution is
![Page 31: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/31.jpg)
h = 0.2
![Page 32: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/32.jpg)
h = 0.1
![Page 33: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/33.jpg)
Precision of the Runge-‐Ku(a Method
Assume that y(x) is the solution of the IVP. If
approximations generated by the Runge-Kutta method of order 4, then
is the sequence of
In particular, the global error at the end of the interval will satisfy
![Page 34: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/34.jpg)
Precision of the Runge-‐Ku(a Method
If approximations are computed using the step size h and h/2, we should have
The idea is that, if the step size in Runge-Kutta order 4 is reduced by a factor of ½, we can expect that the global error will be reduced by a factor of
![Page 35: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/35.jpg)
Precision of the Runge-‐Ku(a Method
A termination criterion for convergence of the corrector of all these methods is provided by where is the result from the prior iteration of the corrector, and is the result from the present iteration of the corrector.
|"a| =
�����yji+1 � yj�1
i+1
yji+1
����� 100%
yj�1i+1
yji+1
(9.23)
![Page 36: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/36.jpg)
Adap:ve Runge-‐Ku(a Methods
Methods that have been presented so far employ a constant step size. For a significant number of problems, this can represent a serious limitation.
Why do we need adaptive methods? In this figure, for most of the range, the solution changes gradually. We may use a fairly large step for such behavior. However, there is a range that undergoes abrupt change, in the region between x = 1.75 to x = 2.25. Consequently, smaller step size is required.
![Page 37: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/37.jpg)
Adap:ve Runge-‐Ku(a Methods
If a constant step-size algorithm were employed, we would have to apply the smaller step size for entire the region, which would not be necessary and be wasted on the regions of gradual change.
Adaptive methods that adjust step size can give great advantage because they “adapt” to the solution’s trajectory. Implementation of such approaches requires that an estimate of the local truncation error (LTE) be obtained at each step, which serves as a basis for adjusting step size.
![Page 38: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/38.jpg)
Adap:ve Runge-‐Ku(a Methods
Two primary approaches: 1) the error is estimated as the difference between two predictions using the same-order Runge-Kutta method but with different step sizes. 2) the local truncation error (LTE) is estimated as the difference between two predictions using different- order Runge-Kutta methods.
![Page 39: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/39.jpg)
Adap:ve Runge-‐Ku(a Methods
(1) Step-halving method This step involves taking each step twice, that is:
- once as a full step - independently as two half steps
The difference in the results represents an estimate of the local truncation error. If y1 designates the single-step prediction and y2 designates the prediction using the two half steps, the error can be represented as (9.24) " = y2 � y1
![Page 40: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/40.jpg)
Adap:ve Runge-‐Ku(a Methods
Equation (9.24) can serve two purposes: - to provide a criterion for step-size control - to correct the y2 prediction
For the fourth-order Runge-Kutta version, the corrections is
(9.25)
![Page 41: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/41.jpg)
Adap:ve Runge-‐Ku(a Methods
(2) Runge-Kutta-Fehlberg (RKF45) method Each step requires the use of the following six values
![Page 42: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/42.jpg)
Adap:ve Runge-‐Ku(a Methods
An approximation using a fourth-order Runge-Kutta method is given by:
(9.26)
![Page 43: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/43.jpg)
Adap:ve Runge-‐Ku(a Methods
(9.27)
A better value for the solution is determined by using a fifth-order Runge-Kutta method which approximates the value of the local truncation error (at a specific node):
![Page 44: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/44.jpg)
Example 9.5
Use the step-halving method to integrate from x = 0 to 2 using h = 2 and initial condition y(0) = 2.
dy
dx
= 4e0.8x � 0.5y
![Page 45: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/45.jpg)
Example 9.5 Solution: The differential equation can be integrated analytically, where the exact/true solution is where at x = 0, y(0) = 2 and at x = 2, y(2) = 14.84392. We start by calculating the four components of the fourth-order Runge-Kutta method as given in eqn. (9.21) at x = 0 with y(0) = 2:
y(x) =4
1.3
�e
0.8x � e
�0.5x�+ 2e�0.5x
![Page 46: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/46.jpg)
Example 9.5
Then the single prediction with step h at x = 2 is computed as:
![Page 47: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/47.jpg)
Example 9.5 For the two half-step where now h = 1, at x = 1: the prediction is:
![Page 48: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/48.jpg)
Example 9.5 and at x = 2 (with h = 1, and using y(1) = 6.20104): the prediction is:
![Page 49: Runge&Ku(a*Methods* - Boston Universitypeople.bu.edu/andasari/courses/Fall2015/LectureNotes/... · 2015-10-01 · SecondOrder* Runge&Ku(a*Methods* The 2nd order Runge-Kutta method](https://reader033.vdocuments.us/reader033/viewer/2022050716/5e274cec3d0c363bdb3ecf44/html5/thumbnails/49.jpg)
Example 9.5 Using eqn. (9.25), the approximate error is and the true error To correct the prediction, we use the error estimate in eqn. (9.25):