Поддержка переменного количества Выходных параметров

Этот пример показывает, как задать функцию, которая возвращает переменное количество выходных аргументов с помощью 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     2

MATLAB® присваивает значения выходным параметрам согласно их порядку в массиве varargout. Например, first == varargout{1}.

Можно использовать один только varargout в списке выходных аргументов, или в конце списка выходных параметров, такой как

function [x,y,varargout] = myfunction(a,b)

В этом случае varargout{1} соответствует третьему выходному параметру, который возвращает функция, и nargout возвращает length(varargout) + 2.

Смотрите также

|

Связанные примеры

Больше о