MATLAB Answers


Analytical ODE solution without ODE45 or for loop

Asked by Kelly
on 28 Jan 2013

I need to solve dN/dt = f*(1-N) - g*N and store the analytical solution in an array

init = 1;
f = 0.5;
g = 0.4;
delta = 0.01;
%Array for time values
t = 0:delta:10 ;

  1 Comment

Your equation has no t in the right hand side. Should we assume it is

dN/dt = f*(1-N(t)) - g*N(t)

and when you say "init = 1" do you mean that N(0) = 1, or do you mean N'(0) = 1 ?

Log in to comment.


No products are associated with this question.

1 Answer

Answer by Walter Roberson
on 28 Jan 2013

Assuming you mean dN/dt = f*(1-N(t)) - g*N(t) and N(0) = 1, then:

N(t) = 5/9+(4/9)*exp(-(9/10)*t)

More generally,

N(t) = f/(f+g) + exp(-(f+g)*t) * (init - f/(f+g))


Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!