支持可变数量的输出
本示例介绍如何使用 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。