CHAPTER 08.05: Higher Order and Coupled
Ordinary Differential Equations: Heun’s
Method
So, this is the ordinary differential
equation which is given to us, is second order in nature. We have initial
conditions given to us. We are asked to find the value at y at 0.5. The step
size is 0.25. It simply implies that if I start at 0, the first step takes me
to 0.25, next step takes me to 0.5. Hence, making it clear that I need to
take two steps in order to be able to find the value of y at 0.5. So, the
first thing which I need to do is, because all methods such as Euler's
method, Runge-Kutta second-order method or Runge-Kutta fourth-order method
they're all based on solving first-order ordinary differential equations. So,
we do need to reduce the second-order differential equation to first-order
differential equation. So, how we're going to do it is we're going to, let's
suppose, say dy by dx equals to z. So, that is the substitution we're going
to make. So, we're introducing another dependent variable called z, here. And
now when I substitute this into the differential equation I'm going to get 2
dz by dx, because I know that hey if I take dz by dx of this, that'll be
nothing but the second derivative of y with respect to x. So, plus 3z, plus
5y is equal to 11 e to the power minus x. So, what you have basically seen is
that how I have been able to reduce the second-order differential equation to
a first-order differential equation now, and what I'm going to do is, I'm
going to rewrite this differential equation, so I'm rewriting this
differential equation in this form so that it is in the form of the slope
being equal to a function of the independent and the dependent variables. So,
what we mean by that is as follows: we have our first differential equation,
which is dy by dx equal to z. So, the substitution which we made dy by dx
equal to z becomes our first differential equation and, let's suppose, we
call it a function f1, and it'll be a function of three variables: x is the
independent variable, and y is the dependent variable, then z is the
dependent variable, which you introduced into the picture. And corresponding
to this you will have an initial condition of y sub 0 equal to 7. Because the
initial condition is required on the dependent variable which is there in the
differential equation. The second differential equation would be dz
by dx equal to this quantity here, and this will be some function f2, let's
suppose. And again, it is a function of three variables. One independent
variable x and two dependent variables y and z. And we have to correspond it
to an initial condition, and we call it z sub 0 equal to 13. And where did I
get this from? What is z? Z is dy by dx. And we were already given the
initial condition that the dy by dx at 0 is 13, and since dy by dx is z, we
can write the initial condition like this. So, it's very important that the
first thing before you solve any problem by any of the methods which you've
learned so far is to rewrite your differential equation in the form, such as
given here, so that you can use the methods which you've learned, numerical
methods that you've learned, to be solve the problem. So, since by these two
differential equations, how will I be able to find the values of y's and z's
as I go along from one step to another, we do need to write down the
equations. It's a good idea to always do that. So, y sub i plus one will be
equal to y sub i, plus one half the slope of y at x i, and this will be the
value of the slope at x sub i plus one. And so you're basically taking the
average of the two slopes at the point where you are and the point where you
want to go, and then you multiply by h in order to be able to find out what
the future value of y is. Since z sub i plus 1 is equal to z sub i plus one
half the slope of z at x of i, plus one-half k2 of z times h. So, that will
be the value of that's how we're going to be able to find the values of y and
z. However, what are k1y? k1y is the slope of y, which is given by the
function f1, at this particular point. What is k2 of y? Is also f sub 1 but,
at the point where we are going in the one step, will be x of i plus h, y sub
i plus k1y times h, because you're trying to find the value of y at this
point forward by h. And that will be given by this, and then you have to also
look for hey what will the value of z at that point and again using the slope
of z, and we are able to do that. The same thing we'll have for k1z will be
the function f2. And keep in mind that the arguments now are the same for the
values of k1z and k1y and same will be the case for k2z, because the only
difference is that you are using, you are finding the slope of z now rather
than y. But it has to be found at the same point. So, once we have these
formulas in place, now it is simply being substituting at the proper spot to
be able to find the values of the slopes, and then be able to find the values
of the corresponding values of y and z at a point ahead. Now, keep in mind
that in order to be able to apply these formulas, one has to find k1y first,
and then k1z. You cannot simply go to k2y as the second quantity to be
calculated because you need k1z here in order to get k2y. So, this will
become the next one, and then this will be the next one to be solved. So, you have to think about that all the
formulas might be given in a certain sequence, it doesn't necessarily mean
that the same sequence can be used in order to apply your algorithm. So,
again, going back to the thing, you will first calculate k1y, then you will
calculate k1z, and then you will calculate k2y, and k2z. So, the first, the
first step: i is equal to 0. Let's write down what the corresponding values
which are known to us. We know that x naught equals 0, y naught is 7, and z
naught is equal to 13. And these come from the initial conditions and the
points at which those initial conditions are given to us. So, k1y will be
equal to the value of the function x1 at these arguments, and since we know
these arguments, and since f1 is just z it will be just 13. Let's calculate
k1z now: k1z will be now the, the slope of z, which is given by the function
f2, and at the same arguments. And it will be 0 7 13 and you will get here
will be 11 e to the power minus 0, minus 5 times 7, minus 3 times 13 divided
by 2. So, it is simply applying the expression which we have for f2, and
substituting the values of xy and z in there. And this value which we'll get
is minus 31.5. Once we have done that, let's start calculating our k2y and
k2z. So, k2y will be equal to, sorry, we now need to calculate uh k2y, that's
right. We're going to calculate k2y. Will be equal to f sub 1, now at a point
ahead, and that will be given by this, and this will be equal to f1 and we
substitute the values of x naught h, and then, of course, we just calculated
k1 of y, which is 13, so we substitute that here, and we just subs,
calculated the value of k1z which is minus 31.5. And, so what we are
basically doing by doing this is, that we are calculating what the arguments
of the function need to be, f1 need to be, in order to be able to calculate
the values of the slope of y at a point ahead which is at 0.25. And this one
is just z, so just 5.125. Now, let's calculate k2 of z, the k2 of z will be
equal to the value of the function x2, at x naught plus h, y naught plus k1y
h, z naught plus k1z h and again keep in mind that now we don't need to do
the substitutions because they are the same arguments as for the function f1,
for k2 of y. So, we can just simply write it hey we need to calculate it at
these argument values there. And now we're going to go to the f2 function,
which is the slope of z at 0.25, and that will be given 11 e to the power
minus 0.25, minus 5 times 10.25, minus 3 times 5.125, divided by 2. And that
turns out to be minus 29.03. So, now what do we have is, we have all the
values of the slopes which we need, we needed four different slopes, two
slopes of y, two slopes of z respect to x, but at two different points, and
that's why the total number is four. And now we can calculate the value of y1
and z1 based on these slopes. So, how do we go about doing that? We have y
sub-one equal to y naught, plus one-half k1y, plus one half k2y times h, and
this one turns out to be the following numbers. So, this is the slope of y at
0, this is the value of the slope of y respect to x at x equal to, x equal to
0.25. So, we take the average of those two and use that to be able to
calculate our value of y1, which is the approximate value of y at 0.25. We do
need to calculate z1, you might say hey let's go and jump to finding y2, we
need z1 because that's going to form the basis of calculating y2, and you
will see that in a little bit. So, z1 is z naught, plus one-half k1z, plus
one half k2z times h. So, z naught is 13, and k1z is minus 31.5. k2z, which
we already calculated, turns out to be that, so you get that. And once you do
this you get 5.434. And this is the approximate value of z at 0.25. So, this
is the procedure which you have to take and now, in order to be, do this for
one more step, uh we'll be, finally be able to calculate what we started to
wanting to calculate, which was y sub 2. So, how do we go about doing that?
We now, again, say hey i is equal to 1 now, my x1 is equal to 0.25, my y1 is
9.266, and my z1 is equal to 5.434. These numbers I got from the previous
step. Now I'll calculate my k1y, which is the value of the function f1 at
these arguments, and this will turn out to be just substituting these
arguments which I just calculated. And from there I get 5.434 because k1 is
nothing but just the value of z. Now, k1z, again keep in mind that I need to
calculate k1z, k1z is nothing but the value of the function f2 at the same
points that we where we calculated our k1 of y. So, this one here now turns
out to be equal to, you just do the substitution like you did before, and you
will get minus 27.03. You'll see that you don't need this number because we
are just stopping at y2, but if you're going to one more step you would need
k1z, but I am calculating these numbers just for purposes of, purposes of
showing that hey how do we do from step to step. So, now we have k2 of y which will be f1 x1
plus h, y1 plus k1y h, z1 plus k1z h, and if we do that we're going to get
the following… And the value which you get for the arguments is 0.5 yeah of
course because that is the next step, the value will be 0.5, the value of the
slope of…Not, the value of y which you're going to use at the point ahead
turns out to be 10.62, and the value of the slope, of the slope which is the
slope of z, now slope of y, I should say. I shouldn't call it slope of slope,
this is the value of the slope of y at um at the point ahead, so that's what
we get. And once we have that, we can calculate this value and turns out to
be minus 1.324 itself because it is just z. And then let's calculate k2 of z
now, k2 of z is the is the value of the function f2, had the same arguments
as we had for k2 of y, so we don't need to necessarily go through the same
calculations because we'll get the same thing. So, it turns out to be this,
and so this value here turns out to be minus 21.23. And again, this value is
not needed also for what we are trying to calculate, but I’m showing you to
you for purposes of completion. So, again now we have calculate the values of
the four slopes, the slope of y with respect to x at two different points,
the slope of z with respect to x, at two different points, and we're going to
use this information to be able to calculate our y2 and z2. And since we
don't need to calculate z2 I'm just going to show you how to calculate y2.
So, in this case, your y2 turns out to be y1, plus one half the slope of y at
the point where you are, plus one half the slope what you want to be. And
this one turns out to be 9.266 plus this quantity here. And this turns out to
be 9.780. That's the value of y2. So, that is the approximate value of y at
0.5. So, it is important for you to think about that hey, of course, this is
the answer which you are looking for, but that hey what are these
intermediate values which we just got for the different slopes? So, for
example, the value of 5.434 was the value of the slope of y with respect to x
at 0.25, however, this value is the value of some approximate value of the
slope of y with respect to x at x equal 0.5. So, it is the average of those
two slopes which allows you to find a better estimate than Euler's method,
let's suppose, of the value of y at the point you are in of interest to you.
So, that's the end of this example and I'm hoping that you will be able to
see for yourself how accurate this answer is, based on knowing the exact
solution, because an exact solution is available for this kind of problem.
And that's the end of this segment. |