Matlab中的参数定义
文章目录
- Matlab中的参数定义
- 写在前面
- 参数量验证
- 实际使用
- 数组有效性检查
- 被检查数据类型
- 有效数据类型
- 有效属性
- 举例说明
- 文本有效性检查
- 举例说明
- 参考
写在前面
Matlab是一种非类型化语言,大多数函数都不需要参数声明或验证。但是为了保证程序的通用性和按照预期工作,对参数进行验证是非常有必要的。
参数量验证
参数量验证是为了验证输入输出参数的数量
- 所用到的函数
% 可变长度输入参数列表
varargin
% 函数输入参数数目
nargin
% 验证输入参数数目
narginchk
% 可变长度的输出参数列表
varargout
% 函数输出参数数目
nargout
% 验证输出参数数目
nargoutchk
实际使用
-
varargin
可变长度输入参数列表,用在函数声明的最后一个参数,表示函数可接受任意长度参数输入,并且以1*N的元组形式存储。 -
varargin
是函数定义语句中的一个输入变量,允许函数接受任意数量的输入参量。使用小写字符指定varargin
。在任何显式声明的输入项后,附加varargin
作为最后一个输入参量。在执行函数时,
varargin
是一个 1×N 元胞数组,其中 N 是函数在显式声明的输入后收到的输入项数。如果该函数在显式声明的输入后未收到任何输入,则varargin
是空元胞数组。% 将输入参数进行累加 function sum = mySum_varargin(varargin)disp("输入参数总量:" + nargin) % 输入参数的总量sum = 0;for i = 1 : length(varargin)sum = sum + varargin{i}; % 元组可通过{i}访问元素end end%% 调用 mySum_varargin(1.2,2.5,pi)
-
nargin
% nargin 在函数内部当作变量使用返回输入参数的数量 function sum=mySum(a,b)nargin % 这里 nargin = 2sum = a + b; end% nargin('mySum') 返回函数mySum输入参数的数量,注意这里是函数字符串 % nargin() 若返回负数,则表示输入参数是可变参数,如-1:第一个参数是参数数, -3:第三个参数是可变参数 nargin('mySum')% nargout 在函数内部
-
narginchk(minArgs,maxArgs)
验证当前执行的函数调用中的输入参量数目。如果调用中指定的输入数目小于minArgs
或大于maxArgs
,narginchk
将引发错误。如果输入数目在minArgs
与maxArgs
之间(包括二者),则narginchk
不会执行任何操作。% 将输入参数进行累加 function sum = mySum_varargin(varargin)disp("输入参数总量:" + nargin) % 输入参数的总量narginchk(2,5); % 输入参数数量的小于2大于5sum = 0;for i = 1 : length(varargin)sum