matlab中narginchk函数用法及其举例

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)

其运行结果为:
matlab中narginchk函数用法及其举例_第1张图片

(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)

运行结果为:

matlab中narginchk函数用法及其举例_第2张图片

(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)

运行结果为:
matlab中narginchk函数用法及其举例_第3张图片

你可能感兴趣的:(matlab,输入变量个数检验)