differential equations without ode solvers
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
hello, I am trying to simulate running two differential equaitons at the same time but there is an error that index exceeds array bounds:
The code am using is given in the following:
dt=0.5;
t=0:dt:10;
h1=zeros(size(t));
h1(1)=0;
h2=zeros(size(t));
h2(1)=0;
for i=1:21
if h1(i) < 1
h1= 0.5-0.065*sqrt(h1(i));
h2= 0.065*sqrt(h1(i)) - 0.1*sqrt(h2(i));
h1(i+1)= h1(i)+dt*h1;
h2(i+1)=h2(i)+dt*h2;
else h1(i)=1;
end
0 Commenti
Risposte (1)
Alex Mcaulley
il 25 Feb 2019
I think you are overwriting h1 and h2 variables in:
h1= 0.5-0.065*sqrt(h1(i));
h2= 0.065*sqrt(h1(i)) - 0.1*sqrt(h2(i));
After those lines h1 and h2 are scalars. Probably you need to put:
h1(i)= 0.5-0.065*sqrt(h1(i));
h2(i)= 0.065*sqrt(h1(i)) - 0.1*sqrt(h2(i));
Vedere anche
Categorie
Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!