matlab中nargin函数输入参数数目

来源:https://ww2.mathworks.cn/help/matlab/ref/nargin.html?searchHighlight=nargin&s_tid=doc_srchtitle

 

说明

示例

nargin 针对当前正在执行的函数,返回函数调用中给定函数输入参数的数目。该语法仅可在函数体内使用。

示例

nargin(fun) 返回 fun 函数定义中出现的输入参数的数目。如果该函数定义中包含 varargin,那么 nargin 返回输入数目的负数。例如,如果 myFun 函数声明输入 abvarargin,那么 nargin('myFun') 返回 -3

 

示例

全部折叠

当前函数的输入

在名为 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 函数在声明语句中包含两个输入(ab)。以字符向量的形式定义函数名称,并使用它作为 nargin 的输入。

fun = 'addme';
nargin(fun)
ans = 2
 
 

使用 varargin 的函数的输入

确定使用 varargin 的函数可接受多少个输入。

在名为 mynewplot.m 的文件中创建一个函数,该函数接受数值输入 xy,并使用 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

负号表示第三个输入是 vararginmynewplot 函数可接受不定数目的附加输入参数。

 
 

输入参数

全部折叠

fun - 函数 函数句柄 | 字符向量 | 字符串标量

一个函数,nargin 从该函数的定义中返回其输入参数数目;指定为函数句柄、字符向量或字符串标量。

示例: @cos

示例: 'plot'

数据类型: char | function_handle

扩展功能

C/C++ 代码生成 使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

用法说明和限制:

  • 对于语法 nargin(fun),如果 fun 是 C/C++ 代码生成所不支持的函数句柄或函数名称,那么 nargin 生成的代码将返回 0。

在 R2006a 之前推出

原文地址:https://www.cnblogs.com/MCSFX/p/11757914.html