Motivating Questions
What is Euler's method and how can we use it to approximate the solution to an initial value problem?
How accurate is Euler's method?
What is Euler's method and how can we use it to approximate the solution to an initial value problem?
How accurate is Euler's method?
In Section8.2, we saw how a slope field can be used to sketch solutions to a differential equation. In particular, the slope field is a plot of a large collection of tangent lines to a large number of solutions of the differential equation, and we sketch a single solution by simply following these tangent lines. With a little more thought, we can use this same idea to approximate numerically the solutions of a differential equation.
Consider the initial value problem
Use the differential equation to find the slope of the tangent line to the solution \(y(t)\) at \(t=0\text{.}\) Then use the given initial value to find the equation of the tangent line at \(t=0\text{.}\)
Sketch the tangent line on the axes provided in Figure8.22 on the interval \(0\leq t\leq 2\) and use it to approximate \(y(2)\text{,}\) the value of the solution at \(t=2\text{.}\)
Assuming that your approximation for \(y(2)\) is the actual value of \(y(2)\text{,}\) use the differential equation to find the slope of the tangent line to \(y(t)\) at \(t=2\text{.}\) Then, write the equation of the tangent line at \(t=2\text{.}\)
Add a sketch of this tangent line on the interval \(2\leq t\leq 4\) to your plot Figure8.22; use this new tangent line to approximate \(y(4)\text{,}\) the value of the solution at \(t=4\text{.}\)
Repeat the same step to find an approximation for \(y(6)\text{.}\)
Example8.21 demonstrates an algorithm known as Euler's^{2}Euler
is pronounced Oy-ler.
Among other things, Euler is the mathematician credited with the famous number \(e\text{;}\) if you incorrectly pronounce his name You-ler,
you fail to appreciate his genius and legacy. Method, which generates a numerical approximation to the solution of an initial value problem. In this algorithm, we will approximate the solution by taking horizontal steps of a fixed size that we denote by \(\Delta t\text{.}\)
Now, suppose that we would like to solve the initial value problem
There is an algorithm by which we can find an algebraic formula for the solution to this initial value problem, and we can check that this solution is \(y(t) = t -1 + 2e^{-t}\text{.}\) But we are instead interested in generating an approximate solution by creating a sequence of points \((t_i, y_i)\text{,}\) where \(y_i\approx y(t_i)\text{.}\) For this first example, we choose \(\Delta t = 0.2\text{.}\)
Since we know that \(y(0) = 1\text{,}\) we will take the initial point to be \((t_0,y_0) = (0,1)\) and move horizontally by \(\Delta t = 0.2\) to the point \((t_1,y_1)\text{.}\) Thus, \(t_1=t_0+\Delta t = 0.2\text{.}\) Now, the differential equation tells us that the slope of the tangent line at this point is
so to move along the tangent line by taking a horizontal step of size \(\Delta t=0.2\text{,}\) we must also move vertically by
We then have the approximation \(y(0.2) \approx y_1= y_0 + \Delta y = 1 - 0.2 = 0.8\text{.}\) At this point, we have executed one step of Euler's method, as seen graphically in Figure8.24.
Now we repeat this process: at \((t_1,y_1) = (0.2,0.8)\text{,}\) the differential equation tells us that the slope is
If we move forward horizontally by \(\Delta t\) to \(t_2=t_1+\Delta = 0.4\text{,}\) we must move vertically by
We consequently arrive at \(y_2=y_1+\Delta y = 0.8-0.12 = 0.68\text{,}\) which gives \(y(0.2)\approx 0.68\text{.}\) Now we have completed the second step of Euler's method, as shown in Figure8.25.
If we continue in this way, we may generate the points \((t_i, y_i)\) shown in Figure8.26. Because we can find a formula for the actual solution \(y(t)\) to this differential equation, we can graph \(y(t)\) and compare it to the points generated by Euler's method, as shown in Figure8.27.
Because we need to generate a large number of points \((t_i,y_i)\text{,}\) it is convenient to organize the implementation of Euler's method in a table as shown. We begin with the given initial data.
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0000\) | \(1.0000\) |
From here, we compute the slope of the tangent line \(m=dy/dt\) using the formula for \(dy/dt\) from the differential equation, and then we find \(\Delta y\text{,}\) the change in \(y\text{,}\) using the rule \(\Delta y = m\Delta t\text{.}\)
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0000\) | \(1.0000\) | \(-1.0000\) | \(-0.2000\) |
Next, we increase \(t_i\) by \(\Delta t\) and \(y_i\) by \(\Delta y\) to get
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0000\) | \(1.0000\) | \(-1.0000\) | \(-0.2000\) |
\(0.2000\) | \(0.8000\) |
We continue the process for however many steps we decide, eventually generating a table like Table8.28.
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0000\) | \(1.0000\) | \(-1.0000\) | \(-0.2000\) |
\(0.2000\) | \(0.8000\) | \(-0.6000\) | \(-0.1200\) |
\(0.4000\) | \(0.6800\) | \(-0.2800\) | \(-0.0560\) |
\(0.6000\) | \(0.6240\) | \(-0.0240\) | \(-0.0048\) |
\(0.8000\) | \(0.6192\) | \(0.1808\) | \(0.0362\) |
\(1.0000\) | \(0.6554\) | \(0.3446\) | \(0.0689\) |
\(1.2000\) | \(0.7243\) | \(0.4757\) | \(0.0951\) |
Generate a sequence of points \((t_i, y_i) \) with \(y_i \approx y(t_i) \) as follows:
Use the initial value to obtain \((t_0, y_0) \)
Choose a small step size, \(\Delta t \text{,}\) and compute \(t_1 = t_0 + \Delta t \)
Evaluate the slope \(m = \frac{dy}{dt} \) at \((t_0, y_0) \)
Compute \(\Delta y = m \Delta t \) and find \(y_1 \) using \(y_1 \approx y(t_1) = y_0 + \Delta y \)
Use \((t_1,y_1) \) as the initial point to find \((t_2,y_2) \) using the above steps; Repeat process for as many points as desired.
Consider the initial value problem
Use Euler's method with \(\Delta t = 0.2\) to approximate the solution at \(t_i = 0.2, 0.4, 0.6, 0.8\text{,}\) and \(1.0\text{.}\) Record your work in the following table, and sketch the points \((t_i, y_i)\) on the axes provided.
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0000\) | \(0.0000\) | ||
\(0.2000\) | |||
\(0.4000\) | |||
\(0.6000\) | |||
\(0.8000\) | |||
\(1.0000\) |
Find the exact solution to the original initial value problem and use this function to find the error in your approximation at each one of the points \(t_i\text{.}\)
Explain why the value \(y_5\) generated by Euler's method for this initial value problem produces the same value as a left Riemann sum for the definite integral \(\int_0^1 (2t-1)~dt\text{.}\)
How would your computations differ if the initial value was \(y(0) = 1\text{?}\) What does this mean about different solutions to this differential equation?
Small hints for each of the prompts above.
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0\) | \(0\) | \(-1\) | \(-0.2\) |
\(0.2\) | \(-0.2\) | \(-0.6\) | \(-0.12\) |
\(0.4\) | \(-0.32\) | \(-0.2\) | \(-0.04\) |
\(0.6\) | \(-0.36\) | \(0.2\) | \(0.04\) |
\(0.8\) | \(-0.32\) | \(0.6\) | \(0.12\) |
\(1.0\) | \(-0.2\) | \(1\) | \(0.2\) |
\(y = t^2 - t\text{,}\) with errors \(e_1 = 0.04\text{,}\) \(e_2 = 0.08\text{,}\) \(e_3 = 0.12\text{,}\) \(e_4 = 0.16\text{,}\) \(e_5 = 0.2\text{.}\)
If we first think about how \(y_1\) is generated for the initial value problem \(\frac{dy}{dt} = f(t) = 2t-1, \ y(0) = 0\text{,}\) we see that \(y_1 = y_0 + \Delta t \cdot f(t_0)\text{.}\) Since \(y_0 = 0\text{,}\) we have \(y_1 = \Delta t \cdot f(t_0)\text{.}\) From there, we know that \(y_2\) is given by \(y_2 = y_1 + \Delta t f(t_1)\text{.}\) Substituting our earlier result for \(y_1\text{,}\) we see that \(y_2 = \Delta t \cdot f(t_0) + \Delta t f(t_1)\text{.}\) Continuing this process up to \(y_5\text{,}\) we get
This is precisely the left Riemann sum with five subintervals for the definite integral \(\int_0^1 (2t-1)~dt\text{.}\)
Solutions to this differential equation all differ by only a constant.
Using Euler's Method with \(\Delta t = 0.2\text{,}\) we find the results shown in the table and graph below.
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0\) | \(0\) | \(-1\) | \(-0.2\) |
\(0.2\) | \(-0.2\) | \(-0.6\) | \(-0.12\) |
\(0.4\) | \(-0.32\) | \(-0.2\) | \(-0.04\) |
\(0.6\) | \(-0.36\) | \(0.2\) | \(0.04\) |
\(0.8\) | \(-0.32\) | \(0.6\) | \(0.12\) |
\(1.0\) | \(-0.2\) | \(1\) | \(0.2\) |
The exact solution to the initial value problem \(\frac{dy}{dt} = 2t-1, \ y(0) = 0\) is \(y = t^2 - t\text{,}\) which we find by integrating both sides with respect to \(t\) and then applying the fact that \(y(0) = 0\) to determine that the integration constant is \(0\text{.}\) From here, we can see that the errors are \(e_1 = y(0.2) - y_1 = 0.04\text{,}\) \(e_2 = y(0.4) - y_2 = 0.08\text{,}\) \(e_3 = y(0.6) - y_3 = 0.12\text{,}\) \(e_4 = y(0.8) - y_4 = 0.16\text{,}\) \(e_5 = y(1.0) - y_5 = 0.2\text{.}\)
If we first think about how \(y_1\) is generated for the initial value problem \(\frac{dy}{dt} = f(t) = 2t-1, \ y(0) = 0\text{,}\) we see that \(y_1 = y_0 + \Delta t \cdot f(t_0)\text{.}\) Since \(y_0 = 0\text{,}\) we have \(y_1 = \Delta t \cdot f(t_0)\text{.}\) From there, we know that \(y_2\) is given by \(y_2 = y_1 + \Delta t f(t_1)\text{.}\) Substituting our earlier result for \(y_1\text{,}\) we see that \(y_2 = \Delta t \cdot f(t_0) + \Delta t f(t_1)\text{.}\) Continuing this process up to \(y_5\text{,}\) we get
This is precisely the left Riemann sum with five subintervals for the definite integral \(\int_0^1 (2t-1)~dt\text{.}\)
Since \(\frac{dy}{dt} = 2t-1\text{,}\) the slope of the tangent line depends only on \(t\text{.}\) Thus, the different initial condition of \(y(0) = 1\) simply adds \(1\) to every value of \(y_i\) in our computations, which shifts every point we compute by Euler's Method up by 1 unit. This tells us that the solutions to this differential equation all differ by only a constant. We can see that both in our computations with Euler's Method and if we solve the differential equation to get \(y = t^2 - t + C\text{.}\)
Consider the differential equation \(\frac{dy}{dt} = 6y-y^2\text{.}\)
Sketch the slope field for this differential equation on the axes provided in Figure8.33.
Identify any equilibrium solutions and determine whether they are stable or unstable.
What is the long-term behavior of the solution that satisfies the initial value \(y(0) = 1\text{?}\)
Using the initial value \(y(0) = 1\text{,}\) use Euler's method with \(\Delta t = 0.2\) to approximate the solution at \(t_i = 0.2, 0.4, 0.6, 0.8\text{,}\) and \(1.0\text{.}\) Record your results in Table8.34 and sketch the corresponding points \((t_i, y_i)\) on the axes provided in Figure8.35. Note the different horizontal scale on the axes in Figure8.35 compared to Figure8.33.
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0\) | \(1.0000\) | ||
\(0.2\) | |||
\(0.4\) | |||
\(0.6\) | |||
\(0.8\) | |||
\(1.0\) |
What happens if we apply Euler's method to approximate the solution with \(y(0) = 6\text{?}\)
Small hints for each of the prompts above.
\(y = 0\) or \(y = 6\text{.}\)
The solution will tend to \(y = 6\text{.}\)
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0\) | \(1.0000\) | \(5.0000\) | \(1.0000\) |
\(0.2\) | \(2.0000\) | \(8.0000\) | \(1.6000\) |
\(0.4\) | \(3.6000\) | \(8.6400\) | \(1.7280\) |
\(0.6\) | \(5.3280\) | \(3.5804\) | \(0.7161\) |
\(0.8\) | \(6.0441\) | \(-0.2664\) | \(-0.0533\) |
\(1.0\) | \(5.9908\) | \(0.0551\) | \(0.0110\) |
The value of \(y_i = 6\) for every value of \(i\text{.}\)
The slope field for this differential equation is shown in the following figure.
If \(y\) is an equilibrium solution, then \(y\) is constant so \(\frac{dy}{dt} = 0\text{.}\) Solving \(0 = 6y - y^2\text{,}\) we see that either \(y = 0\) or \(y = 6\text{,}\) which is also consistent with what we see in the slope field.
The long-term behavior of the solution that satisfies the initial value \(y(0) = 1\) is that the solution will tend to \(y = 6\text{.}\)
Using Euler's method with \(\Delta t = 0.2\text{,}\) we approximate the solution of the IVP at \(t_i = 0.2, 0.4, 0.6, 0.8\text{,}\) and \(1.0\) as shown in the following table and figure. We see that our estimates actually jump slightly above the equilibrium solution before being pulled back down.
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0\) | \(1.0000\) | \(5.0000\) | \(1.0000\) |
\(0.2\) | \(2.0000\) | \(8.0000\) | \(1.6000\) |
\(0.4\) | \(3.6000\) | \(8.6400\) | \(1.7280\) |
\(0.6\) | \(5.3280\) | \(3.5804\) | \(0.7161\) |
\(0.8\) | \(6.0441\) | \(-0.2664\) | \(-0.0533\) |
\(1.0\) | \(5.9908\) | \(0.0551\) | \(0.0110\) |
If we apply Euler's method to approximate the solution with \(y(0) = 6\text{,}\) the value of \(y_i = 6\) for every value of \(i\) since \(y=6\) is an equilibrium solution and the slope of the tangent line will always be \(0\text{.}\)
Since we are approximating the solutions to an initial value problem using tangent lines, we should expect that the error in the approximation will be smaller when the step size is smaller. Consider the initial value problem
whose solution we can easily find.
The question posed by this initial value problem is what function do we know that is the same as its own derivative and has value 1 when \(t=0\text{?}\)
It is not hard to see that the solution is \(y(t) = e^t\text{.}\) We now apply Euler's method to approximate \(y(1) = e\) using several values of \(\Delta t\text{.}\) These approximations will be denoted by \(E_{\Delta t}\text{,}\) and we'll use them to see how accurate Euler's Method is.
To begin, we apply Euler's method with a step size of \(\Delta t = 0.2\text{.}\) In that case, we find that \(y(1) \approx E_{0.2} = 2.4883\text{.}\) The error is therefore
Repeatedly halving \(\Delta t\) gives the following results, expressed in both tabular and graphical form.
\(\Delta t\) | \(E_{\Delta t}\) | Error |
\(0.200\) | \(2.4883\) | \(0.2300\) |
\(0.100\) | \(2.5937\) | \(0.1245\) |
\(0.050\) | \(2.6533\) | \(0.0650\) |
\(0.025\) | \(2.6851\) | \(0.0332\) |
Notice, both numerically and graphically, that the error is roughly halved when \(\Delta t\) is halved. This example illustrates the following general principle.
If Euler's method is used to approximate the solution to an initial value problem at a point \(\overline{t}\text{,}\) then the error is proportional to \(\Delta t\text{.}\) That is,
for some constant of proportionality \(K\text{.}\)
Euler's method is an algorithm for approximating the solution to an initial value problem by following the tangent lines while we take horizontal steps across the \(t\)-axis.
If we wish to approximate \(y(\overline{t})\) for some fixed \(\overline{t}\) by taking horizontal steps of size \(\Delta t\text{,}\) then the error in our approximation is proportional to \(\Delta t\text{.}\)
Newton's Law of Cooling says that the rate at which an object, such as a cup of coffee, cools is proportional to the difference in the object's temperature and room temperature. If \(T(t)\) is the object's temperature and \(T_r\) is room temperature, this law is expressed at
where \(k\) is a constant of proportionality. In this problem, temperature is measured in degrees Fahrenheit and time in minutes.
Two calculus students, Alice and Bob, enter a 70\(^\circ\) classroom at the same time. Each has a cup of coffee that is 100\(^\circ\text{.}\) The differential equation for Alice has a constant of proportionality \(k=0.5\text{,}\) while the constant of proportionality for Bob is \(k=0.1\text{.}\) What is the initial rate of change for Alice's coffee? What is the initial rate of change for Bob's coffee?
What feature of Alice's and Bob's cups of coffee could explain this difference?
As the heating unit turns on and off in the room, the temperature in the room is
Implement Euler's method with a step size of \(\Delta t = 0.1\) to approximate the temperature of Alice's coffee over the time interval \(0\leq t\leq 50\text{.}\) This will most easily be performed using a spreadsheet such as Excel. Graph the temperature of her coffee and room temperature over this interval.
In the same way, implement Euler's method to approximate the temperature of Bob's coffee over the same time interval. Graph the temperature of his coffee and room temperature over the interval.
Explain the similarities and differences that you see in the behavior of Alice's and Bob's cups of coffee.
We have seen that the error in approximating the solution to an initial value problem is proportional to \(\Delta t\text{.}\) That is, if \(E_{\Delta t}\) is the Euler's method approximation to the solution to an initial value problem at \(\overline{t}\text{,}\) then
for some constant of proportionality \(K\text{.}\)
In this problem, we will see how to use this fact to improve our estimates, using an idea called accelerated convergence.
We will create a new approximation by assuming the error is exactly proportional to \(\Delta t\text{,}\) according to the formula
Using our earlier results from the initial value problem \(dy/dt = y\) and \(y(0)=1\) with \(\Delta t = 0.2\) and \(\Delta t = 0.1\text{,}\) we have
This is a system of two linear equations in the unknowns \(y(1)\) and \(K\text{.}\) Solve this system to find a new approximation for \(y(1)\text{.}\) (You may remember that the exact value is \(y(1) = e = 2.71828\ldots\text{.}\))
Use the other data, \(E_{0.05} = 2.6533\) and \(E_{0.025} = 2.6851\) to do similar work as in (a) to obtain another approximation. Which gives the better approximation? Why do you think this is?
Let's now study the initial value problem
Approximate \(y(0.3)\) by applying Euler's method to find approximations \(E_{0.1}\) and \(E_{0.05}\text{.}\) Now use the idea of accelerated convergence to obtain a better approximation. (For the sake of comparison, you want to note that the actual value is \(y(0.3) = 0.0408\text{.}\))
In this problem, we'll modify Euler's method to obtain better approximations to solutions of initial value problems. This method is called the Improved Euler's method.
In Euler's method, we walk across an interval of width \(\Delta t\) using the slope obtained from the differential equation at the left endpoint of the interval. Of course, the slope of the solution will most likely change over this interval. We can improve our approximation by trying to incorporate the change in the slope over the interval.
Let's again consider the initial value problem \(dy/dt = y\) and \(y(0) = 1\text{,}\) which we will approximate using steps of width \(\Delta t = 0.2\text{.}\) Our first interval is therefore \(0\leq t \leq 0.2\text{.}\) At \(t=0\text{,}\) the differential equation tells us that the slope is 1, and the approximation we obtain from Euler's method is that \(y(0.2)\approx y_1= 1+ 1(0.2)= 1.2\text{.}\)
This gives us some idea for how the slope has changed over the interval \(0\leq t\leq 0.2\text{.}\) We know the slope at \(t=0\) is 1, while the slope at \(t=0.2\) is 1.2, trusting in the Euler's method approximation. We will therefore refine our estimate of the initial slope to be the average of these two slopes; that is, we will estimate the slope to be \((1+1.2)/2 = 1.1\text{.}\) This gives the new approximation \(y(1) = y_1 = 1 + 1.1(0.2) = 1.22\text{.}\)
The first few steps look like what is found in Table8.38.
\(t_i\) | \(y_i\) | Slope at \((t_{i+1},y_{i+1})\) | Average slope |
\(0.0\) | \(1.0000\) | \(1.2000\) | \(1.1000\) |
\(0.2\) | \(1.2200\) | \(1.4640\) | \(1.3420\) |
\(0.4\) | \(1.4884\) | \(1.7861\) | \(1.6372\) |
\(\vdots\) | \(\vdots\) | \(\vdots\) | \(\vdots\) |
Continue with this method to obtain an approximation for \(y(1) = e\text{.}\)
Repeat this method with \(\Delta t = 0.1\) to obtain a better approximation for \(y(1)\text{.}\)
We saw that the error in Euler's method is proportional to \(\Delta t\text{.}\) Using your results from parts (a) and (b), what power of \(\Delta t\) appears to be proportional to the error in the Improved Euler's Method?