solving 2 ODE's - problem with ode45 initial conditions
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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])
0 Commenti
Risposte (2)
Jan
il 26 Apr 2013
Modificato: Jan
il 26 Apr 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.
Vedere anche
Categorie
Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!