Есть несколько вариантов, как это сделать.Самое основное - это использовать varargin
, а затем использовать nargin
, size
и т. Д., Чтобы определить, были ли переданы необязательные аргументы в функцию.
% Function that takes two arguments, X & Y, followed by a variable
% number of additional arguments
function varlist(X,Y,varargin)
fprintf('Total number of inputs = %d\n',nargin);
nVarargs = length(varargin);
fprintf('Inputs in varargin(%d):\n',nVarargs)
for k = 1:nVarargs
fprintf(' %d\n', varargin{k})
end
Немного более элегантное решение - использовать класс inputParser
для определения всех аргументов, ожидаемых вашей функцией, как обязательных, так и необязательных.inputParser
также позволяет выполнять проверку типов для всех аргументов.