j'ai redéfini ma fonction en deux partie:
1- déclaration de la fonction
2- faire recall pour résolution
comme suite :
1)
1 2 3 4 5 6 7 8 9 10 11 12
| function dx=leakfun(t,x)
global g A Zmax_CE alpha L_CFco p0 rho ps Zi a_CF;
dx1=((g*A)/x(4))*(x(3)-Zmax_CE-(p0/(rho*g))-(alpha*x(4)*x(1)^2));
dx2=((g*A)/(L_CFco-x(4)))*((ps/(rho*g))-x(3)+(1/(2*g*A^2))-(alpha*(L_CFco-x(4)))*x(2)^2);
dx3=((-a_CF)^2/(g*A*x(4)))*(x(1)-x(2)+x(5)*sqrt(x(3)-Zi-(p0/(rho*g))));
dx4=0;
dx5=0;
dx = [dx1 dx2 dx3 dx4 dx5];
end |
2)
[ti,xi]= ode45('leakfun',[0 4],[20 20 0 0 0]);
ça me lance toujours des erreurs:
dans la 1er partie:
>> leakfun
Not enough input arguments.
Error in leakfun (line 5)
dx1=((g*A)/x(4))*(x(3)-Zmax_CE-(p0/(rho*g))-(alpha*x(4)*x(1)^2));
dans la 2eme:
Error using nargin
leakfun is a script.
Error in odearguments (line 60)
if (nargin(ode) == 2)
Error in ode45 (line 115)
odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);
Error in leakfun (line 11)
[ti,xi]= ode45('leakfun',[0 4],[20 20 0 0 0]);
JE COMPRENDS PAS
Partager