varargin
可变长度输入参数列表
句法
描述
varargin
是函数定义语句中的输入变量,使该函数能够接受任何数量的输入参数。指定varargin
通过使用小写字符。明确声明输入后,包括varargin
作为最后一个输入参数。
当函数执行时,varargin
是1乘n细胞阵列,其中n是该函数在明确声明的输入后接收的输入数量。如果该函数在明确声明输入后未收到输入,则varargin
是一个空的单元格数组。
例子
函数输入数量可变
在名为的文件中定义函数AccessVariablenumInputs.m
这接受可变数量的输入并显示每个输入的值。
类型Appactvariablenuminputs
函数AcceptVariablenumInputs(varargin)disp(“输入参数的数量:” + nargin)celldisp(varargin)结束
使用多个输入调用功能。
Appactvariablenuminputs(一个(3),“一些文字”,pi)
输入参数的数量:3 varargin {1} = 1 1 1 1 1 1 1 1 1 1 1 1 varargin {2} =某些文本varargin {3} = 3.1416
varargin
并声明输入
在名为的文件中定义函数定义和瓦里亚布林普特
这期望两个输入并接受额外数量的输入。
类型定义和瓦里亚布朗图斯
函数定义andVariaiblenumInputs(x,y,varargin)disp(“输入参数的总数:“ + nargin)Formatspec =“ varargin单元格数组的大小:%dx%d”;str = compose(FormatsPec,size(varargin));disp(str)端
使用多个输入调用功能。
定义和variaiblenuminputs(7,Pi,Rand(4),DateTime('现在'),'你好')
输入参数的总数:5 varargin单元格数的大小:1x3
使用两个输入调用功能。varargin
是一个空的单元格数组。
定义和瓦里亚布伦云(13,42)
输入参数的总数:2 varargin单元格数组的大小:0x0
变量的输入和输出数量
在名为的文件中定义函数variablenumInputandOutput.m
这接受变量数量的输入和输出。
类型variablenuminputandoutput
函数varargout = variablenumInputAndOutput(varargin)disp([['提供的输入的数量:'num2str(length(varargin))]))disp(['请求输出的数量:'num2str(nargout)] for K = 1:nargout varargout varargout {k} = k;结尾
用两个输入和三个输出调用该功能。
[d,g,p] = variablenuminputandOutput(6,'关系')
提供输入的数量:2个请求的输出数:3
d = 1
g = 2
p = 3
再次调用无输入或输出的功能。
variablenuminputandoutput
提供的输入数:0请求的输出数:0
创建功能包装器
在工作文件夹中的文件中,为绘制红线的绘图函数创建包装器。这红牌
函数接受可变长度输入参数列表,并返回一个可变长度的输出参数列表。它将行颜色设置为红色,并将其他输入值转发到阴谋
功能。此功能包装器使您可以通过红牌
输入与阴谋
并且不指定线色是红色的。
类型redplot.m
函数varargout = redplot(varargin)[varargout {1:nargout}] = plot(varargin {:},'color',[1,0,0]);结尾
利用红牌
创建线路图。
x = 0:pi/100:2*pi;y = sin(x);redplot(x,y)
称呼红牌
再次,并指定输入和输出参数以转发到阴谋
功能。
h = redplot(x,y,“标记”,,,,'o',,,,“标记为彩色”,,,,'绿色');
扩展功能
C/C ++代码生成
使用MATLAB®CODER™生成C和C ++代码。
用法注释和限制:
如果您使用
varargin
为了将参数定义为入口点(顶部级)函数,代码生成器会产生具有固定数量的输入参数的C/C ++函数。生成代码时指定的参数数量确定固定数量的参数。你不能写信给
varargin
。如果要写入输入参数,请首先将输入参数复制到本地变量中。索引进入
varargin
必须是编译时常数。
HDL代码生成
使用HDL Coder™生成用于FPGA和ASIC设计的Verilog和VHDL代码。
用法注释和限制:
你不能写信给
varargin
。如果要写入输入参数,请首先将输入参数复制到本地变量中。使用
varargin
在一个MATLAB功能具有HDL块属性的块建筑学调成MATLAB DATAPATH
:您只能通过使用
varargin
。您不能使用其他初始化技术,例如使用细胞
功能或通过使用卷曲括号来创建单元格数组cellarr = {1,2,3}
。您不能将多指数置于单元格数组中。例如,此代码段导致HDL代码生成中的错误。
[x,y] = varargin {1:2};
版本历史记录
matlab命令
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
如何获得最佳网站性能
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
美洲
- AméricaLatina(Español)
- 加拿大(英语)
- 美国(英语)