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