not enough input argument

9 次查看(过去 30 天)
Tze Ting Ong
Tze Ting Ong 2018-2-21
评论: Stephen23 2018-2-21
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 个评论
Torsten
Torsten 2018-2-21
Please supply the complete code you are using.
Best wishes
Torsten.
Stephen23
Stephen23 2018-2-21
@Tze Ting Ong: how are you calling the function Tut2Q2 ?

请先登录,再进行评论。

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by