MATLAB: How to use nargin function to take variable input arguments and return sum of those arguments

narginvector sum

I am not sure how to use the nargin function. I wanted to take a variable number of input arguments and return a sum of those arguments. I am stuck. I have this code so far
function [ output_args ] = addmany() %This function will take zero or more numbers as a variable number of input %arguments and returns the sum of its input arguments. n=nargin; %number of input arguments sum
Not sure how to get a sum of the variable input arguments

Best Answer

Well, if you had a function
function x = doSomething(a, b, c, d)
...
end
nargin would tell you how many input arguments were present at the call, which would allow you e.g. to define default values for c and d if nargin were equal to 2. Now as you can see, this function has only 4 named input parameters, so this approach is not that well suited for a function which should accept any number of arguments.. what if a user calls your function with 500 arguments, are you going to define 500 named parameters just to be sure?
What we usually do is to use varargin, as follows
function x = doSomething(varargin)
...
end
In that case, varargin is a cell array inside the function, which contains all the arguments from the call.
Now as it's a homework, I cannot write the full code for you, but this hints sets you on a better track already. The next step should be to understand how to deal with cell arrays so you can compute a sum.
Related Question