solving 2 ODE's - problem with ode45 initial conditions

3 visualizaciones (últimos 30 días)
Daniel
Daniel el 26 de Abr. de 2013
dx/dt=x(3-x-2y) dy/dt=y(2-x-y)
I'm trying to solve the two ODE's above and am struggling. Is it possible to solve them as two separate functions with two separate ode45 commands? I am under the impression that that is not possible, so I've combined them into one function like this:
function df=odefunc(t,f)
% function f represents both x(t) and y(t) as a system
df=zeros(2,1);
df(1)=f(1)*(3-f(1)-2*f(2)); %f(1)=x(t) ; df(1)=dx/dt
df(2)=f(2)*(2-f(1)-f(2)); %f(2)=y(t) ; df(2)=dy/dt
end
But then my other issue is that my initial conditions aren't at time t=0. They are x0=[5,2] and y0=[2,10]. So when I ran the ode45 command below, I got an error message regarding the initial conditions. Any help is appreciated-thanks!
[T,fXY]=ode45(@odefunc,[1,100],[5,2;2,10])

Respuestas (2)

Zhang lu
Zhang lu el 26 de Abr. de 2013
Editada: Zhang lu el 26 de Abr. de 2013
x0 and y0 must be one input , can't be a vector.
  1 comentario
Daniel
Daniel el 26 de Abr. de 2013
the initial condition can be a vector (I saw it in MATLAB help), but I guess only a row vector?

Iniciar sesión para comentar.


Jan
Jan el 26 de Abr. de 2013
Editada: Jan el 26 de Abr. de 2013
x0 is the initial time, 1 in your case according to the time interval [1, 100]. When you want t0 = 0, you need [0, 100].
Now y0 must be a [2 x 1] vector with the initial position. I cannot understand, why there are 4 initial values in your case, but you need 2 only.
  1 comentario
Daniel
Daniel el 26 de Abr. de 2013
Editada: Daniel el 26 de Abr. de 2013
The problem is that the initial conditions I have are [5,2] for y(1) (x(t)) and [2,10] for y(2) (y(t)), so that's why I tried four initial conditions. But in reference to what you're saying, I guess the problem is that I have two initial conditions that occur at different times (t=5 and t=2)

Iniciar sesión para comentar.

Categorías

Más información sobre Ordinary Differential Equations en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by