Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Including conditions within ode 45
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a system of equations where a,b,c,d,e,k are constant parameters. In this system the behaviour of y(1) and y(2) over time would be it would reach a peak and then decline. What I want is when both y(1) and y(2) are less than 1, I want y(1) and y(2) to be set to zero. That is I don't want a rebound to happen once y(1) and y(2) reach low values. Also, I want the solutions to y(3) to start after certain time (tr) has passed. Up until that time the value of y(3) should remain at the initial level. This is the function that I am solving using ode45 and this is how I have implemented those conditions.
[t,y]=ode45(@model,0:time,[100000,450,10^-12]
function s= model(t,y)
s=zeros(3,1);
tr=50;
if y(1)<1 && y(2)<1
y(1)=0;
y(2)=0;
else
s(1)=a*y(1)*(1-((y(2)+y(1))/k))-b*y(3)*y(1);
s(2)=a*y(2)*(1-((y(1)+y(2))/k))-b*y(5)*y(2);
if t>tr
s(3)=c*(d-y(5))*(y(1)+y(2))-e*y(5);
else
s(3)=0;
end
Can someone please let me know if I have done this correctly or is there any other method to do it
0 Kommentare
Antworten (0)
Diese Frage ist geschlossen.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!