matlab中narginchk函数用法及其举例
narginchk在编写子函数程序时候,在验证输入参数数目方面具有重要作用,本博文讲一讲该函数的用法。
一、narginchk功能
narginchk的作用是验证输入参数数目。
二、语法
narginchk(minArgs,maxArgs)
narginchk(minArgs,maxArgs) 验证当前执行的函数调用中的输入参数数目。
如果调用中指定的输入数目小于 minArgs 或大于 maxArgs,narginchk 将引发错误。
如果输入数目在 minArgs 与 maxArgs 之间(包括二者),则 narginchk 不会执行任何操作。
三、用法举例
检验输入参数个数是否最少三个、最多七个。
在名为 mycheckInputs.m 的文件中创建一个函数,该函数使用 narginchk 验证是否使用了有效的输入数目来调用该函数。当满足输入个数时候, mycheckInputs 提示3个必须输入参数,并且最多接受4个附加的可选参数。
编写程序:
mycheckInputs.m函数内容为:
function mycheckInputs(x1,x2,x3,varargin)
minArgs=3;
maxArgs=7;
narginchk(minArgs,maxArgs)
%当输入参数个数满足[3,7]之间,则给出如下提示
fprintf('输入包含3个必选输入和%d个可选输入\n', length(varargin))
%其中x1,x2,x3是三个必选输入,varargin代表可选输入
end
(1)输入参数满足输入个数条件情况举例
编写一个主程序example1.m,函数内容为:
clc
clear all
A=10;
t=0:0.1:2*pi;
pha0=pi/6;
f1=50;
f2=60;
f3=70;
f4=80;
mycheckInputs(A,t,pha0,f1,f2,f3,f4)
其运行结果为:
(2)输入参数个数少于要求的输入个数条件情况举例
编写一个主程序example2.m,函数内容为:
clc
clear all
A=10;
t=0:0.1:2*pi;
pha0=pi/6;
f1=50;
f2=60;
f3=70;
f4=80;
mycheckInputs(A,t)
运行结果为:
(3)输入参数个数多于要求的输入个数条件情况举例
编写一个主程序example3.m,函数内容为:
clc
clear all
A=10;
t=0:0.1:2*pi;
pha0=pi/6;
f1=50;
f2=60;
f3=70;
f4=80;
s1=A*sin(2*pi*f1*t+pha0);
s2=A*sin(2*pi*f2*t+pha0);
s3=A*sin(2*pi*f3*t+pha0);
s4=A*sin(2*pi*f4*t+pha0);
mycheckInputs(A,t,pha0,f1,f2,f3,f4,s1,s2,s3,s4)
运行结果为: