Not enough input arguments.

2 views (last 30 days)
Why do I get an error when create the M-File "Lorenz" with the following input:
function xprime = Lorenz(t,x);
%LORENZ: Computes the derivatives involved in solving the Lorenz equations
sig = 10;
beta = 8/3;
xprime=[-sig*x(1) + sig*x(2);rho*x(1)-x(2)-x(1)*x(3);-beta*x(3) +x(1)*x(2)];
The error says:
Error in Lorenz (line 6)
xprime=[-sig*x(1) + sig*x(2);rho*x(1)-x(2)-x(1)*x(3);-beta*x(3) +x(1)*x(2)];
  1 Comment
per isakson
per isakson on 9 May 2021
I get the error (R2018b)
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
Error in Untitled2>Lorenz (line 11)
xprime=[-sig*x(1) + sig*x(2); rho*x(1)-x(2)-x(1)*x(3); -beta*x(3) +x(1)*x(2)];
Error in Untitled2 (line 4)
xprime = Lorenz( t, x );
I cannot see that this statement (Lorenz (line 6)) could throw the error "Not enough input arguments."
Show your full error message.

Sign in to comment.

Accepted Answer

per isakson
per isakson on 9 May 2021
Edited: per isakson on 9 May 2021
You need to call the function, Lorenz, with two input arguments: t and x. E.g.
x = (1:6);
t = nan;
xprime = Lorenz( t, x )
In your case the variable, x, is not defined in the workspace of Lorenz. Thus, the expression cannot be evaluated. Don't ask me why the error message isn't more informative.

More Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!