Comparing Analytic and Approximate Solutions Using Euler's Method in Matlab

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 2K views
Bashyboy
Messages
1,419
Reaction score
5

Homework Statement


Hello, I am working on a problem involves my using the Euler Method to approximate the differential equation [itex]\displaystyle \frac{df}{dt} = af(t) - b[f(t)]^2[/itex], both when b=0 and when b is not zero; and I am to compare the analytic solution to the approximate solution when b=0.


Homework Equations





The Attempt at a Solution



Here is my code
Code:
f(1) = 1000;
t(1)= 0;
a = 10;
b = 0 ;
dt = 0.01;
Nsteps = 10/dt;

for i = 2:Nsteps
    t(i) = dt + t(i-1);
    %f(i) = f(i-1)*(1 + dt*(a - b*f(i-1)));
    f(i) = f(i-1)*(1 + a*dt); 
end

plot(t,f,'r-')

hold on

fa= a*exp(a*t)

plot(t,fa,'bo')

When b=0, the solution to the differential equation is [itex]f(t) = c e^{at}[/itex]. When I apply the initial condition, that f(0) = 1000, then the differential equation becomes [itex]f(t) = 1000 e^{at}[/itex]. Now, my professor said that a differential equation has an analytic solution, no matter what time step you use, the graph of analytic solution and the approximation (Euler's Method) will coincide. So, I expected the two graphs to overlap. I attached a picture of what I got.

Why did this occur? In order to get the graphs to overlap, I changed 1000 to 10, which is a, just for the heck of it. When I did this, the two overlapped. I don't understand. What am I doing incorrectly?
 

Attachments

  • !.png
    !.png
    1.3 KB · Views: 533
on Phys.org
Yes, lewando. I actually just tried it, and it made the approximation closer to the analytic solution. Thank you for the suggestion.
 
Bashyboy said:
Now, my professor said that a differential equation has an analytic solution, no matter what time step you use, the graph of analytic solution and the approximation (Euler's Method) will coincide.

I think you misunderstood what your professor said. That quote is so wrong that it's very hard to believe it is what your prof actually meant.

If you change the time step in the Euler method you are using, you will definitely get different results. As somebody else said, try a smaller step size.

Also, it might be better to plot the y-axis of your graphs on a log scale.