ode45 coupled first degree ODEs
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I want to solve two coupled ODEs in matlab using ODE45, but get an error that says U"nable to perform assignment because the left and right sides have a different number of elements". I dont know really what the problem is here and have tried severad changes but did not fix it.
Code:
function dz = myode(v,z)
a = 0.4;
b = 0.001;
c = 0.001;
d = 0.9;
dz = zeros(2,1);
dz(1) = a*z(1)-b*z(2)*z(1);
dz(2) = c*z(1)*z(2)-diff(z(2));
end
I call it as:
[v z] = ode45(@myode,[0 40],[2 6])
Hope someone can help
1 Commento
esat gulhan
il 17 Set 2020
What is your differantial code. can you give your diff equation dz/dv....
Risposte (1)
Alan Stevens
il 17 Set 2020
Do you mean something like this:
[v, z] = ode45(@myode,[0 40],[2 6]);
plot(v,z)
function dz = myode(~,z)
a = 0.4;
b = 0.001;
c = 0.001;
d = 0.9;
dz = [a*z(1)-b*z(2)*z(1);
c*z(1)*z(2)-d*z(2)];
end
You had diff(z(2)), but d was unused, so I assumed you meant d*z(2). However, this might not have been what you wanted!
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!