not enough input argument

11 views (last 30 days)
Tze Ting Ong
Tze Ting Ong on 21 Feb 2018
Commented: Stephen23 on 21 Feb 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 Comments
Torsten
Torsten on 21 Feb 2018
Please supply the complete code you are using.
Best wishes
Torsten.
Stephen23
Stephen23 on 21 Feb 2018
@Tze Ting Ong: how are you calling the function Tut2Q2 ?

Sign in to comment.

Answers (1)

C.J. Harris
C.J. Harris on 21 Feb 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]);

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!