MATLAB Answers

Error using function: Not enough input arguments.

2 views (last 30 days)
Astrik
Astrik on 5 Aug 2016
Edited: John D'Errico on 5 Aug 2016
I get the following error every time i try to run a simple function
Not enough input arguments. My code is the following
function S = myfirstmatlab (n )
% gives the sum of the first n integers
S = 0; % start at zero
% The loop :
for i = 1: n % do n times
S = S + i; % add the current integer
end % end of the loop
Can someone help me to figure it out? The answers to similar questions did not help me.

  0 Comments

Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 5 Aug 2016
Edited: John D'Errico on 5 Aug 2016
You don't RUN a function.
IMHO, run (or use of it from the menu) is the worst thing they ever introduced into MATLAB, in terms of newbies misusing the tool.
When you write a function, in order to use it, you need to use it at the command line, just as you use ANY OTHER FUNCTION.
So execute a line like this at the commandline:
S = myfirstmatlab(10);

  0 Comments

Sign in to comment.

More Answers (1)

Thorsten
Thorsten on 5 Aug 2016
Edited: Thorsten on 5 Aug 2016
You have to call the function with an argument n:
>> myfirstmatlab(4)
Note that you can write your program in a single line
S = sum(1:n);

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!