MATLAB中的varargin和narginchk

时间:2015-04-20 21:24:12

标签: matlab

我在MATLAB中遇到了一个我不明白的工具箱中的代码部分

elseif (txMode==2) 

narginchk(7, 7);
numTx = varargin{1};
numRx = varargin{2};

switch numTx
    case 2    
        numCSRRE_RB = 4*2*2; 
    case 4      
        numCSRRE_RB = 4*3*2; 
end

我不明白本例中narginchkvarargin的用途,为什么varargin{1}的输出为2或4(结论)在switch)之后查看代码时,我想到了。

感谢任何想法。

1 个答案:

答案 0 :(得分:0)

varargin 是一种matlab语法,允许matlab函数接收任意数量的参数。由于它是一个单元格,因此您可以使用 {} 访问其内容,如您在代码段中所示:

numTx = varargin{1};
numRx = varargin{2};

您可以阅读有关 nargin here的更多信息。

narginchk 是一个变量,用于检查提供给函数的参数数量。在你的情况下:

narginchk(7, 7);

如果输入低于7(第一个)或大于7(第二个),则会抛出错误。因此,您的函数需要准确接收7个参数才能工作。

您可以阅读有关 narginchk here

的更多信息