Analytical ODE solution without ODE45 or for loop

1 view (last 30 days)
I need to solve dN/dt = f*(1-N) - g*N and store the analytical solution in an array
%values
init = 1;
f = 0.5;
g = 0.4;
delta = 0.01;
%Array for time values
t = 0:delta:10 ;
  1 Comment
Walter Roberson
Walter Roberson on 28 Jan 2013
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 ?

Sign in to comment.

Answers (1)

Walter Roberson
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))

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!