当前位置: 首页 > news >正文

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 allA=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 allA=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)

运行结果为:
在这里插入图片描述

http://www.lryc.cn/news/205835.html

相关文章:

  • k8s集群镜像下载加gradana监控加elk日志收集加devops加秒杀项目
  • waf绕过
  • 在 MyBatis-Plus 中,如果你想通过其他字段进行修改操作,可以使用条件构造器(Wrapper)来指定修改的条件。
  • Python Opencv实践 - 入门使用Tesseract识别图片中的文字
  • TCP通信实战案例-即时通信
  • 【数据结构初阶】算法的时间复杂度和空间复杂度
  • git log 命令详解
  • docker运行elastic和kibana,并使用密码连接
  • 前端html生成PDF
  • 通信算法之190: 频谱频移fftshift
  • 强化学习代码实战(3) --- 寻找真我
  • SA+ST表维护height+单调队列维护:CF1073G
  • Java中JVM、JRE和JDK三者有什么区别和联系?
  • 秋季期中考复现xj
  • 【代码随想录】算法训练营 第十四天 第六章 二叉树 Part 1
  • 【访问控制】—>《熟练使用ACL进行上网行为管理》
  • MySQL外键,表与表的关系,多表查询,Navicat软件
  • Linux系统镜像备忘
  • Docker容器端口在主机的映射
  • Spring Boot中RedisTemplate的使用
  • GSCoolink GSV6183 带嵌入式MCU的MIPI D-PHY 转 DP/eDP
  • Linux文件系统 struct dentry 结构体解析
  • C++——vector
  • html5语义化标签
  • SQL Server批量删除数据库中的表
  • 使用SecScanC2构建P2P去中心化网络实现反溯源
  • 【API篇】七、Flink窗口
  • 软件测试面试1000问(含文档)
  • 进阶课4——随机森林
  • 【Docker】Dockerfile使用技巧