# not enough input argument

2 views (last 30 days)
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
##### 2 CommentsShowHide 1 older comment
Stephen23 on 21 Feb 2018
@Tze Ting Ong: how are you calling the function Tut2Q2 ?

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]);