Plot di un sistema ODE

di il
1 risposte

Plot di un sistema ODE

Ciao a tutti,
sto tentando da giorni e giorni di creare il grafico di questo sistema di equazioni differenziali:

dx/dt == (r*x(t) + delta*y(t))*(1 - ((x(t) + y(t))/K)) - ((beta*v(t)*x(t))/(x(t) + y(t)));

dy/dt == ro*y(t)*(1 - ((x(t) + y(t))/K) + (beta*v(t)*x(t))/(x(t) + y(t)) - a*y(t);

dv/dt == gamma*y(t) - mu*v(t);
con questi parametri

r=0.8, ro=0.1, K=2e11, beta=0.0014, gamma=300, a=0.0693, mu=0.693
Il grafico che sto cercando di ottenere deve avere y sull'asse delle ordinate e delta sull'asse delle ascisse (con delta da 0 a 0.05). Il grafico ottenuto dovrà essere una curva decrescente.

Ho provato a scrivere il seguente codice (con Matlab R2010a), ma senza successo:

syms t x delta
g = @(t,x,delta)[(0.8*x(1) + delta*x(2))*(1 - ((x(1) + x(2))/(2e11))) - ((0.0014*x(3)*x(1))/(x(1) + x(2)));
                  0.1*x(2)*(1 - ((x(1) + x(2))/(2e11))) + (0.0014*x(3)*x(1))/(x(1) + x(2)) - 0.0693*x(2);
                  300*x(2) - 0.693*x(3)];
for delta = 0:0.05
[t,xa] = ode45(@(t,x) g(t,x,delta),[0 2],[0 0 0]);
figure
plot(t, xa(:,2))
title(['y(t) for delta=',num2str(a)'])
end
Anche utilizzando dsolve non sono riuscito a venirne a capo.
Come posso ottenere il grafico? Potreste darmi qualche utile consiglio? Vi ringrazio in anticipo, buon pomeriggio!

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte