Input arguments error on line 2
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Rishabh Arora
le 21 Oct 2020
Modifié(e) : Rishabh Arora
le 21 Oct 2020
I am getting input arguments error on line 2 of the function
3 commentaires
Ameer Hamza
le 21 Oct 2020
Why are you calling ode45 inside the ODEfun and using ODEfun as a function handle. This will not work and cause infinite recursion.
Réponse acceptée
Stephan
le 21 Oct 2020
Modifié(e) : Stephan
le 21 Oct 2020
Divide your code into a function for your ode and the part for solving and plottting the results:
y0 = 0; % --> change to 1 for example to get a "non boring" solution
Wspan = [0 100];
[z, fb] = ode45(@ODEfun, Wspan, y0);
plot(z, fb(:,1));
function dYfuncvecdW = ODEfun(~, Yfuncvec)
X = Yfuncvec(1);
k = 6;
Cao = 0.2;
yao = 1/3;
Fao = 2;
% Pao = 10; --> Value is not used
epsilon = yao*(1-2-1);
ThetaB = 2;
% alpha = 0.02; --> Value is not used
Ca = Cao*(1-X)/(1+(epsilon*X));
Cb = Cao*(ThetaB-(2*X))/(1+(epsilon*X));
ra = -k*Ca*Cb^2;
dXdW = -(ra/Fao);
dYfuncvecdW = dXdW;
end
0 commentaires
Plus de réponses (1)
Ameer Hamza
le 21 Oct 2020
How are you running this function? You need to pass input aguments to get an output
out = ODEfun(0, 1)
0 commentaires
Voir également
Catégories
En savoir plus sur Systems of Nonlinear Equations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!