主要内容

varargout

变长参数列表输出

语法

描述

例子

varargout是一个函数的输出变量定义语句,使得函数能够返回任意数量的输出参数。指定varargout使用小写字母,把它作为最后的输出参数任何显式声明后输出。

当函数执行时,varargout是1 -N单元阵列,N是输出的数量要求显式声明后输出。在一个函数,varargout是未初始化的变量,而不是预先分配。

例子

全部展开

定义一个函数在文件命名returnVariableNumOutputs.m返回一个输出向量大小年代和数量可变的附加输出。

类型returnVariableNumOutputs
函数[年代,varargout] = returnVariableNumOutputs (x) nout = max (nargout, - 1) - 1;s =大小(x);k = 1: nout varargout {k} = s (k);结束结束

输出年代包含输入数组的尺寸x。额外的输出对应于各个维度内年代

调用的函数和一个三维数组和请求三个输出。

一个=兰德(4、5、2);[s、行关口]= returnVariableNumOutputs (A)
s =1×34 5 2
行= 4
关口= 5

再次调用该函数与四维数组和请求四个输出。这一次,函数不返回个人第四维度。

一个= 0 (1,4,5,2);[s dim1 dim2, dim3] = returnVariableNumOutputs (A)
s =1×41 4 5 2
dim1 = 1
dim2 = 4
dim3 = 5

再次调用该函数一个和请求一个输出。函数返回的尺寸一个而不是varargout

s = returnVariableNumOutputs (A)
s =1×41 4 5 2

定义一个函数在文件命名variableNumInputAndOutput.m接受一个变量数量的输入和输出。

类型variableNumInputAndOutput
函数varargout = variableNumInputAndOutput(变长度输入宗量)disp([的数量提供的输入:num2str(长度(变长度输入宗量))))disp([的请求的输出数量:num2str (nargout)]) k = 1: nargout varargout {k} = k;结束结束

调用该函数与两输入三输出。

g (d, p) = variableNumInputAndOutput (6“关系”)
提供输入数量:2请求的输出数量:3
d = 1
g = 2
p = 3

再次调用该函数没有输入或输出。

variableNumInputAndOutput
提供输入数量:0请求的输出数量:0

在一个文件在您的工作目录中,创建一个包装器情节功能地块红线。的redplot函数接受一个可变长度的输入参数列表和返回一个变长参数列表输出。线的颜色设置为红色,其他输入值情节函数。这个函数包装器使您能够通过redplot相同的输入情节而不是指定的线的颜色是红色。

类型redplot.m
函数varargout = redplot(变长度输入宗量)[varargout {1: nargout}] =情节(变长度输入宗量{:},“颜色”,[1,0,0));结束

使用redplot创建一个阴谋。

x = 0:π/ 100:2 *π;y = sin (x);redplot (x, y)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

调用redplot再次,指定的输入和输出参数情节函数。

h = redplot (x, y,“标记”,“o”,“MarkerEdgeColor”,“绿色”);

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

扩展功能

之前介绍过的R2006a