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

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)

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

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

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


http://www.kler.cn/news/108807.html

相关文章:

  • FPGA_状态机工作原理
  • 前端小技巧: TS实现new出一个对象的内部过程
  • 独创改进 | RT-DETR 引入 Asymptotic Hybrid Encoder | 渐进混合特征解码结构
  • maven环境变量,安装源,本地仓库配置
  • STM32F10xx 存储器和总线架构
  • Redisson的看门狗策略——保障Redis数据安全与稳定的机制
  • Spring-声明式事务
  • 解决visual studio Just-In-Time Debugger调试
  • 论文写作框架示例:论软件系统建模方法及其应用
  • YouTube博主数据信息资源
  • JS中Map对象与object的区别
  • pythonWeb主流框架分析
  • css-表格样式
  • 【Java 进阶篇】解决Java Web应用中请求参数中文乱码问题
  • Python Wordcloud报错:Only supported for TrueType fonts,多种解决方案
  • 97. 交错字符串
  • Go学习第十二章——Go反射与TCP编程
  • 如何使用drawio画流程图以及导入导出
  • 微服务parent工程和子工程pom文件配置注意
  • 基于Qt 文本读写(QFile/QTextStream/QDataStream)实现
  • C++编程题目------平面上的最接近点对(分治算法)
  • C++设计模式_13_Flyweight享元模式
  • 漏洞复现-showdoc文件上传_v2.8.3_(CNVD-2020-26585)
  • Python环境下LaTeX数学公式转图像方案调研与探讨
  • 【大数据Hive】hive 表数据优化使用详解
  • 西工大CSAPP第二章课后题2.55答案及解析
  • 什么是程序化交易
  • 计算机网络--第一次作业
  • C51--PWN-舵机控制
  • 直线模组怎么分类?