Main Content

支持可变数量的输出

本示例介绍如何使用 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

另请参阅

|

相关示例

详细信息