Main Content

varargin

Variable-length input argument list

句法

描述

例子

varargin是函数定义语句中的输入变量,使该函数能够接受任何数量的输入参数。指定varargin通过使用小写字符。明确声明输入后,包括varargin作为最后一个输入参数。

当函数执行时,varargin是1乘n细胞阵列,其中n是该函数在明确声明的输入后接收的输入数量。如果该函数在明确声明输入后未收到输入,则varargin是一个空的单元格数组。

例子

展开全部

Define a function in a file namedAccessVariablenumInputs.mthat accepts a variable number of inputs and displays the values of each input.

类型Appactvariablenuminputs
函数AcceptVariablenumInputs(varargin)disp(“输入参数的数量:” + nargin)celldisp(varargin)结束

称呼the function with several inputs.

Appactvariablenuminputs(ones(3),'some text',,,,pi)
输入参数的数量:3 varargin {1} = 1 1 1 1 1 1 1 1 1 1 1 1 varargin {2} =某些文本varargin {3} = 3.1416

Define a function in a file named定义和瓦里亚布林普特这期望两个输入并接受额外数量的输入。

类型定义和瓦里亚布朗图斯
function definedAndVariableNumInputs(X,Y,varargin) disp("Total number of input arguments: " + nargin) formatSpec = "Size of varargin cell array: %dx%d"; str = compose(formatSpec,size(varargin)); disp(str) end

称呼the function with several inputs.

定义和variaiblenuminputs(7,Pi,Rand(4),DateTime('现在'),'你好'
输入参数的总数:5 varargin单元格数的大小:1x3

使用两个输入调用功能。varargin是一个空的单元格数组。

定义和瓦里亚布朗图斯(13,42)
输入参数的总数:2 varargin单元格数组的大小:0x0

Define a function in a file namedvariablenumInputandOutput.mthat accepts a variable number of inputs and outputs.

类型variableNumInputAndOutput
函数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; end end

称呼the function with two inputs and three outputs.

[d,g,p] = variablenuminputandOutput(6,'关系'
number of provided inputs: 2 Number of requested outputs: 3
d = 1
g = 2
p = 3

再次调用无输入或输出的功能。

variableNumInputAndOutput
number of provided inputs: 0 Number of requested outputs: 0

In a file in your working folder, create a wrapper to the plot function that plots a red line. The红牌函数接受可变长度输入参数列表,并返回一个可变长度的输出参数列表。它将行颜色设置为红色,并将其他输入值转发到阴谋功能。此功能包装器使您可以通过红牌输入与阴谋并且不指定线色是红色的。

类型红牌。m
函数varargout = redplot(varargin)[varargout {1:nargout}] = plot(varargin {:},'color',[1,0,0]);结尾

Use红牌to create a line plot.

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

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

称呼红牌再次,并指定输入和输出参数以转发到阴谋功能。

h = redplot(x,y,'Marker',,,,'o',,,,'MarkerEdgeColor',,,,'绿色');

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

扩展功能

版本历史记录

Introduced before R2006a