В этом примере показано, как задать функцию, которая возвращает переменное количество выходных аргументов с помощью varargout. Выведите varargout массив ячеек, который содержит функциональные выходные параметры, где каждый выход находится в своей собственной ячейке.
Создайте функцию в файле с именем magicfill.m это присваивает магический квадрат каждому требуемому выходу.
function varargout = magicfill nOutputs = nargout; varargout = cell(1,nOutputs); for k = 1:nOutputs varargout{k} = magic(k); end
Индексация с фигурными скобками {} обновляет содержимое ячейки.
Вызовите magicfill и запросите три выходных параметров.
[first,second,third] = magicfill
first =
1
second =
1 3
4 2
third =
8 1 6
3 5 7
4 9 2MATLAB® значения присвоений к выходным параметрам согласно их порядку в varargout массив. Например, first == varargout{1}.
Можно использовать varargout один в списке выходных аргументов, или в конце списка выходных параметров, такой как
function [x,y,varargout] = myfunction(a,b)
В этом случае, varargout{1} соответствует третьему выходному параметру, который функция возвращает, и nargout возвращает length(varargout) + 2.