varargin
可变长度输入参数列表
句法
描述
varargin
是函数定义语句中的输入变量,使该函数能够接受任何数量的输入参数。指定varargin
使用小写字符,并在任何明确声明输入后将其作为最后一个输入参数。
当函数执行时,varargin
是1乘n细胞阵列,其中n是该函数在明确声明的输入后接收的输入数量。但是,如果该函数在明确声明的输入后未收到输入,则varargin
是一个空的单元格数组。
例子
函数输入数量可变
Define a function in a file namedAccessVariablenumInputs.m
that 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(一个(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
varargin
并声明输入
Define a function in a file named定义和瓦里亚布林普特
这期望两个输入并接受额外数量的输入。
类型定义和瓦里亚布朗图斯
函数definedAndVariableNumInputs (X, Y,变长度输入宗量)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.m
that accepts a variable number of inputs and outputs.
类型variableNumInputAndOutput
函数varargout = variablenumInputAndOutput(varargin)disp([['提供的输入的数量:'num2str(length(varargin))]))disp(['请求输出的数量:'num2str(nargout)] for K = 1:nargout varargout varargout {k} = k;结尾
称呼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]);结尾
利用红牌
to create a line plot.
x = 0:pi/100:2*pi;y = sin(x);redplot(x,y)
称呼红牌
再次,并指定输入和输出参数以转发到阴谋
功能。
h = redplot(x,y,'Marker',,,,'o',,,,'MarkerEdgeColor',,,,'绿色');
扩展功能
C/C ++代码生成
Generate C and C++ code using MATLAB® Coder™.
用法注释和限制:
如果您使用
varargin
为了将参数定义为入口点(顶部级)函数,代码生成器会产生具有固定数量的输入参数的C/C ++函数。生成代码时指定的参数数确定固定数量的参数。你不能写信给
varargin
。If you want to write to input arguments, first copy the input arguments into a local variable.索引进入
varargin
必须是编译时常数。
也可以看看
matlab命令
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。金宝app
You can also select a web site from the following list:
如何获得最佳网站性能
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
美洲
- América Latina(Español)
- 加拿大(英语)
- 美国(英语)