# Euler's Method In Matlab

1. Feb 2, 2014

### Bashyboy

1. The problem statement, all variables and given/known data
Hello, I am working on a problem involves my using the Euler Method to approximate the differential equation $\displaystyle \frac{df}{dt} = af(t) - b[f(t)]^2$, 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.

2. Relevant equations

3. The attempt at a solution

Here is my code
Code (Text):
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 $f(t) = c e^{at}$. When I apply the initial condition, that f(0) = 1000, then the differential equation becomes $f(t) = 1000 e^{at}$. 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?

File size:
1.2 KB
Views:
72
2. Feb 2, 2014

### lewando

Have you tried a smaller time step?

3. Feb 2, 2014

### Bashyboy

Yes, lewando. I actually just tried it, and it made the approximation closer to the analytic solution. Thank you for the suggestion.

4. Feb 2, 2014

### lewando

You should have a chat with that professor then...

5. Feb 2, 2014

### AlephZero

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.