nargin
函数输入参数数目
说明
nargin
针对当前正在执行的函数,返回函数调用中给定函数输入参数的数目。该语法仅可在函数体内使用。使用 arguments
验证代码块时,函数内 nargin
返回的值是调用函数时提供的位置参数的个数。有关详细信息,请参阅参数验证中的 nargin。
示例
当前函数的输入
在名为 addme.m
的文件中创建最多可接受两个输入的函数。在函数主体中使用 nargin
确定输入数目。
type addme.m
function c = addme(a,b) switch nargin case 2 c = a + b; case 1 c = a + a; otherwise c = 0; end end
在命令提示符下使用两个输入调用 addme
函数。
c = addme(13,42)
c = 55
使用一个输入调用该函数。
c = addme(13)
c = 26
为函数定义的输入
确定一个函数可接受多少个输入。
上一个示例中创建的 addme
函数在声明语句中包含两个输入(a
和 b
)。以字符向量的形式定义函数名称,并使用它作为 nargin
的输入。
fun = 'addme';
nargin(fun)
ans = 2
使用 varargin
的函数的输入
确定使用 varargin
的函数可接受多少个输入。
在名为 mynewplot.m
的文件中创建一个函数,该函数接受数值输入 x
和 y
,并使用 varargin
返回任意数目的其他绘图输入。
type mynewplot.m
function mynewplot(x,y,varargin) figure plot(x,y,varargin{:}) title('My New Plot') end
查询 newplot
可以接受多少个输入。
fx = 'mynewplot';
nargin(fx)
ans = -3
负号表示第三个输入是 varargin
。mynewplot
函数可接受不定数目的附加输入参数。
输入参数
fun
- 函数
函数句柄 | 字符向量 | 字符串标量
一个函数,nargin
从该函数的定义中返回其输入参数数目;指定为函数句柄、字符向量或字符串标量。
示例: @cos
示例: 'plot'
数据类型: char
| function_handle
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
对于语法
nargin(fun)
,如果fun
是 C/C++ 代码生成所不支持的函数句柄或函数名称,那么nargin
生成的代码将返回 0。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅Run MATLAB Functions in Thread-Based Environment。
版本历史记录
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)