How to take variable number of inputs arugments and return their sum
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
KayLynn
el 29 de Oct. de 2013
Comentada: Image Analyst
el 29 de Oct. de 2013
I am trying to write a functin addmany.m that takes zero or more numbers as a variable number of input arguments and returns the sum of its input arguments. I am trying to use the narargin and varargin commands. I have the following code written:
function [y] = main(varargin)
%This function will take zero or more numbers as a variable number of input
%arguments and returns the sum of its input arguments.
switch nargin
case 0
disp('0 inputs given')
alpha = 10 %default value
beta = 10 %default value
case 1
disp('1 inputs given')
alpha = varargin{1}
beta = 10 %default value
case 2
disp('2 inputs given')
alpha = varargin{1}
beta = varargin{2}
otherwise
error('Unexpected inputs')
end
y= alpha + beta;
I am trying to get the following result Input is 1,10,100 Output is 111.
If you could please tell me which line/part is wrong and what it should be, I would appreciate it
0 comentarios
Respuesta aceptada
Image Analyst
el 29 de Oct. de 2013
Try this:
function theSum = AddMany(varargin)
theSum = []; % Initialize
if nargin == 0
uiwait(warndlg('Please input 1 or more numbers'));
return;
end
fprintf('Number of arguments: %d\n',nargin);
celldisp(varargin)
inputNumbers = cell2mat(deal(varargin))
theSum = sum(inputNumbers);
13 comentarios
Daniel Shub
el 29 de Oct. de 2013
I am pretty sure with squiggly brackets {} you get an array of doubles and with smooth brackets () you get a cell array. So with {} it seems to work
x = {1, 2, 3};
sum([x{:}])
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!