ODE45 error: must return a column vector.
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am getting this error in my code. but in the MATLAB documentation there is an example ( Example 3) where the vectors are given as input but it works just fine. Why is that I get an error in my code?
Ca_ER = 10e-6;
c0 = 2e-6;
c1 = .185;
v1 = 6;
v2 = .11;
v3 = .09e6;
v4 = 1.2;
k3 = .1e-6;
a1 = 400e6;
a2 = 0.2e6;
a3 = 400e6;
a4 = 0.2e6;
a5 = 20e6;
b2 = .21;
d1 = 0.13e-6;
d2 = b2/a2;
d3 = 943.4e-9;
d4 = d1*d2/d3;
d5 = 82.34e-9;
IP= .5e-6;
Ca=.001e-6:.01e-6:1e-6;
num=Ca.*IP.*d2;
deno= (Ca.*IP+ IP*d2+d1*d2+Ca.*d3).*(Ca+d5);
p_open=( num./deno).^3; %this is the vector input
dc=@(t,c) (c1.*((v1.*p_open)+v2).*(Ca_ER-c))-((v3.*(c.^2))/(c.^2+(k3^2)));
[t,c]=ode45(dc,linspace(0, 100, 1000),.19e-6);
plot(t,c);
0 Commenti
Risposta accettata
James Tursa
il 5 Giu 2015
For a start, try changing to column vectors. E.g.,
Ca = (.001e-6:.01e-6:1e-6)';
6 Commenti
James Tursa
il 6 Giu 2015
We don't know what problem you are trying to solve. Are you trying to solve a scalar 1st order differential equation? A scalar higher order differential equation? A vector DE? Or what? Tell us what the DE or system of DE's is.
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!