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.mfbz.cn/a/105690.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows服务器环境下使用php调用com组件

Office设置 安装 office2013 且通过正版激活码激活 在组件服务 计算机 我的电脑 DOM 中找到 Microsoft Word 97 - 2003 文档 服务,右键属性 身份验证调整为 无 在 标识中 调整为 交互式用户 php环境设置 开启com组件扩展 在php.ini中设置 extensionphp_com_dotn…

同范围中的嵌入式和单片机区别是什么?

今日话题,同范围中的嵌入式和单片机区别是什么?嵌入式系统和单片机不仅仅是软硬件的区别,更涉及到应用领域和功能特性的不同。嵌入式系统通常包括一个完整的计算机系统,其中包括处理器、内存、输入输出接口以及一个操作系统&#…

2023年中国消防报警设备市场规模现状及行业竞争趋势分析[图]

消防安全行业主要分为消防产品和消防工程两个子行业。消防产品又可细分成消防装备、消防报警、自动灭火、防火与疏散、通用与防烟排烟、消防供水等 6 大类,其中消防装备主要用于消防部队,其他 5 大类主要用于建筑物消防。 消防行业内容 资料来源&#x…

21款奔驰GLE450升级23P驾驶辅助 缓解开车疲劳

驾驶辅助和自动驾驶的区别就是需要人为去接管,虽然车辆会根据道路自己行驶,弯道上也能居中自动修正行驶,长时间不接管方向盘,系统会提示人为接管,这就是奔驰的23P驾驶辅助系统, 很多车友升级23P驾驶辅助系…

苍穹外卖-01

苍穹外卖-01 课程内容 软件开发整体介绍苍穹外卖项目介绍开发环境搭建导入接口文档Swagger 项目整体效果展示: ​ 管理端-外卖商家使用 ​ 用户端-点餐用户使用 当我们完成该项目的学习,可以培养以下能力: 1. 软件开发整体介绍 作为一名…

用Visual Studio(VS)开发UNIX/Linux项目

目录 FTP是免不了的 正确设置头文件 组织项目结构 创建何种项目类型 FTP自动上传 大部分具有Windows开发经验的程序员会比较喜欢使用Visual Studio,而大部分Unix/Linux程序员则喜欢使用UltraEdit直接在主机上写代码。 为什么直接在主机上写代码呢,因…

Leo赠书活动-03期 【ChatGPT 驱动软件开发:AI 在软件研发全流程中的革新与实践 】

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 赠书活动专栏 ✨特色专栏:…

【JAVA学习笔记】45 - (35 - 43)第十章作业

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter10/src/com/yinhai/homework10 1.静态属性的共享性质 判断下列输出什么 public class HomeWork01 {public static void main(String[] args) {Car c new Car();//无参构造时改变color为red…

Redis快速上手篇(四)(Spring Cache,缓存配置)(注解方式)

Spring Cache 从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的 使用Spring Cache的时候我们要保证我们缓存的方法对于相同的方法参数要有相同的返回结果。 使用Spring Cache需要我们做两方面…

聚观早报 |2024款飞凡R7官宣;小米14新配色材质

【聚观365】10月27日消息 2024款飞凡R7官宣 小米14新配色材质 金山办公2023第三季度业绩 IBM2023第三季度业绩 新东方2024财年第一季度业绩 2024款飞凡R7官宣 飞凡汽车官宣,2024款飞凡R7将于11月上市,新车将搭载飞凡巴赫座舱,同时超过1…

endnote设置

问题1:参考文献的tab太长 首先要在endnote里面这样设置,file->output->edit "XXX" 保存之后,在word更新目录。 在word里面设置悬挂缩进 结果: Endnote参考编号与参考文献距离太远怎么调整 endnote 文献对齐方式…

正点原子嵌入式linux驱动开发——外置RTC芯片PCF8563

上一章学习了STM32MP1内置RTC外设,了解了Linux系统下RTC驱动框架。一般的应用场合使用SOC内置的RTC就可以了,而且成本也低,但是在一些对于时间精度要求比较高的场合,SOC内置的RTC就不适用了。这个时候需要根据自己的应用要求选择合…

解决报错:gnutls_handshake() failed: The TLS connection was non-properly terminated.

执行git clone的时候,出现错误:gnutls_handshake() failed: The TLS connection was non-properly terminated. 如图: 解决方式: 两次重置代理:完美解决 git config --global --unset https.https://github.com.pro…

网络搭建和运维的基础题目

服务部分(linux) 实操部分 1.在任意文件夹下面创建形如 A/B/C/D 格式的文件夹系列。 [rootlocalhost ~]# mkdir -p A/B/C/D 2.在创建好的文件夹下面,A/B/C/D ,里面创建文本文件 mkdir.txt [rootlocalhost ~]# cd A/B/C/D [r…

7.MySQL复合查询

个人主页:Lei宝啊 愿所有美好如期而遇 目录 复合查询 基本查询回顾 多表查询 自连接 子查询 单行子查询 多行子查询 多列子查询 在from子句中使用子查询 合并查询 union union all 实战OJ 复合查询 前面我们讲解的mysql表的查询都是对一张表进行查询…

jenkins、ant、selenium、testng搭建自动化测试框架

如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入,然后写一些测试脚本,这就是你所说的自动化测试,其实这个还不能算是真正的自动化测试,你见过每次需要运行的时候还需要打开eclipse然后去选择运行文件吗&#xff…

竞赛 深度学习人脸表情识别算法 - opencv python 机器视觉

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习人脸表情识别系…

【方法】如何给PDF文件添加“打开密码”?

PDF文件可以在线浏览,但如果想要给文件添加“打开密码”,就需要用到软件工具,下面小编分享两种常用的工具,小伙伴们可以根据需要选择。 工具一:PDF编辑器 PDF阅读器一般是没有设置密码的功能模块,PDF编辑器…

nodejs+vue 电子书阅读系统

本文首先介绍了电子书阅读系统的发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,随着网络技术的不断发展,多媒体技术应用渐渐的出现在教育领域中,电子书阅读已经成为社会的一个热…

云计算模式的区域LIS系统源码,基于ASP.NET+JQuery、EasyUI+MVC技术架构开发

云计算模式的区域LIS系统源码 云LIS系统源码,自主版权 LIS系统是专为医院检验科的仪器设备能与计算机连接。可通过LIS系统向仪器发送指令,让仪器自动操作和接收仪器数据。并快速的将检验仪器中的数据导入到医生工作站中进行管理,且可将检验结…
最新文章