主要内容

变长度输入宗量

可变长度的输入参数列表

描述

例子

变长度输入宗量是函数定义语句中的输入变量,它使函数能够接受任意数量的输入参数。指定变长度输入宗量使用小写字符,并将其包含在任何显式声明的输入之后作为最后一个输入参数。

当函数执行时,变长度输入宗量是1 -N单元阵列,N是函数在显式声明的输入之后接收的输入数。但是,如果函数在显式声明的输入之后没有接收输入,那么变长度输入宗量为空单元格数组。

例子

全部展开

在文件中定义一个函数acceptVariableNumInputs.m它接受可变数量的输入并显示每个输入的值。

类型acceptVariableNumInputs
function acceptVariableNumInputs(varargin) disp("输入参数的个数:" + nargin) celldisp(varargin) end

使用多个输入调用函数。

acceptVariableNumInputs ((3),“一些文本”π)
输入参数个数:3 varargin{1} = 1 1 1 1 1 1 1 1 varargin{2} = some text varargin{3} = 3.1416

在文件中定义一个函数definedAndVariableNumInputs.m它需要两个输入并接受额外的输入。

类型definedAndVariableNumInputs
function definedAndVariableNumInputs(X,Y,varargin) disp("输入参数的总数:" + nargin) formatSpec = " varargin单元格数组的大小:%dx%d";str =组成(formatSpec、大小(变长度输入宗量));disp (str)结束

使用多个输入调用函数。

definedAndVariableNumInputs(7,π,兰德(4),日期时间(“现在”),“你好”
输入参数总数:5

用两个输入调用函数。变长度输入宗量为空单元格数组。

42 definedAndVariableNumInputs(13日)
输入参数总数:2 varargin cell数组大小:0x0

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

类型variableNumInputAndOutput
function varargout = variableNumInputAndOutput(varargin) disp(['Number of provided inputs: ' num2str(length(varargin))]) disp(['Number of requested outputs: ' num2str(nargout)]) for k = 1:nargout varargout{k} = k;结束结束

调用具有两个输入和三个输出的函数。

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

在没有输入或输出的情况下再次调用函数。

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

在工作文件夹中的文件中,为plot函数创建一个包装器,用于绘制红线。的redplot函数接受一个可变长度的输入参数列表并返回一个可变长度的输出参数列表。将行颜色设置为红色,并将其他输入值转发给情节函数。此函数包装器使您能够传递redplot相同的输入情节没有指定线的颜色是红色。

类型redplot.m
function varargout = redplot(varargin) [varargout{1:nargout}] = plot(varargin{:},'Color',[1,0,0]);结束

使用redplot来创建一个线图。

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

Figure包含一个轴对象。axis对象包含一个类型为line的对象。

调用redplot,并指定要转发给的输入和输出参数情节函数。

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

Figure包含一个轴对象。axis对象包含一个类型为line的对象。

扩展功能

之前介绍过的R2006a