not enough input argument

5 vues (au cours des 30 derniers jours)
Tze Ting Ong
Tze Ting Ong le 21 Fév 2018
Commenté : Stephen23 le 21 Fév 2018
Hi I have a problem with my function on matlab and it's driving me crazy I am very new to matlab and I was wondering what went wrong in my command because I keep getting "not enough input argument" and this appears in my command window:
>> Tut2Q2 Not enough input arguments.
Error in Tut2Q2 (line 3) dydx = [y(2); -0.54*y(2)-(0.0729+pi)*y(1)];
My script file is:
function dydx = Tut2Q2(x,y)
dydx = [y(2); -0.54*y(2)-(0.0729+pi)*y(1)];
end
Help please! :-(
  2 commentaires
Torsten
Torsten le 21 Fév 2018
Please supply the complete code you are using.
Best wishes
Torsten.
Stephen23
Stephen23 le 21 Fév 2018
@Tze Ting Ong: how are you calling the function Tut2Q2 ?

Connectez-vous pour commenter.

Réponses (1)

C.J. Harris
C.J. Harris le 21 Fév 2018
Your code, which I've included below takes two inputs, x and y, however you don't use the first input 'x' anywhere in your code, while input y is expected to be of size 2.
function dydx = Tut2Q2(x,y)
dydx = [y(2); -0.54*y(2)-(0.0729+pi)*y(1)];
end
Therefore, unless you are calling the function with y having a size of 2, it will give that error. You could change your code to use both x and y:
function dydx = Tut2Q2(x,y)
dydx = [y; -0.54*y-(0.0729+pi)*x];
end
And then call it with two inputs:
out = Tut2Q2(1,2);
With your current definition, you'd have to call it as follows to achieve the same thing:
out = Tut2Q2([],[1 2]);

Community Treasure Hunt

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

Start Hunting!

Translated by