Almacenar en un vector el tiempo transcurrido en una ODE
Publicado por Paula (3 intervenciones) el 16/02/2012 20:18:47
Estimados:
Estoy resolviendo la famosa ecuación de Lotka y Volterra y me gustaria poder que graficara dentro de la función, el problema es que el tiempo "t" se va actualizando cada vez y el grafico final es el último punto 20. He tratado de guardarlo en otro vector T con un bucle "for-end" pero no me sale...
Me podrian ayudar?
a todo esto, la funcion la llamo asi:
>> [t,x]=ode45(@lv,[0 20],[30;4])
Muchas gracias.
function f=lv(t,x) %Ecuación de Lotka y Volterra
a=.5471;b=.0281;c=.0266;r=.8439; %parametros cualquieras
f=[a*x(1)-b*x(1)*x(2);-r*x(2)+c*x(1)*x(2)]; %EDO
A = x(1,:);
B = x(2,:);
T = [0,t];
for i=1:t,
T(i)= t(1:i);
end
plot(T,A,T,B,)
end
Paula.
Estoy resolviendo la famosa ecuación de Lotka y Volterra y me gustaria poder que graficara dentro de la función, el problema es que el tiempo "t" se va actualizando cada vez y el grafico final es el último punto 20. He tratado de guardarlo en otro vector T con un bucle "for-end" pero no me sale...
Me podrian ayudar?
a todo esto, la funcion la llamo asi:
>> [t,x]=ode45(@lv,[0 20],[30;4])
Muchas gracias.
function f=lv(t,x) %Ecuación de Lotka y Volterra
a=.5471;b=.0281;c=.0266;r=.8439; %parametros cualquieras
f=[a*x(1)-b*x(1)*x(2);-r*x(2)+c*x(1)*x(2)]; %EDO
A = x(1,:);
B = x(2,:);
T = [0,t];
for i=1:t,
T(i)= t(1:i);
end
plot(T,A,T,B,)
end
Paula.
Valora esta pregunta
0