matlab中narginchk函数用法及其举例

news2024/9/9 3:54:42

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.coloradmin.cn/o/1133102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DP读书:《openEuler操作系统》(五)进程与线程

进程与线程 进程的概念程序:从源码到执行1. 编译阶段:2. 加载阶段:3. 执行阶段: 程序的并发执行与进程抽象 进程的描述进程控制块1. 描述信息2. 控制信息3. CPU上下文4. 资源管理信息 进程状态1.就绪状态2.运行状态3.阻塞状态4.终止状态 进程的控制进程控制源语1.创…

第四章 C++的数据类型

系列文章目录 第一章 C的输入第二章 C的输出第三章 C的循环结构 文章目录 系列文章目录前言一、个人名片二、int三、char四、double总结 前言 今天来学数据类型! 一、个人名片 个人主页:睡觉觉觉得 🎐CSDN新晋作者 🎉欢迎 &…

洛谷 P5717 三角形分类 C++代码

目录 前言 题目描述 思路点拨 优化 AC代码 AC截图 结尾 前言 马上就要突破10000浏览量了,再写一篇加加油! 图片截图时间:2023.10.25.20:23 题目描述 网址:【深基3.习8】三角形分类 - 洛谷 思路点拨 这道题是给定三条边的长度&#…

BadNets:基于数据投毒的模型后门攻击代码(Pytorch)以MNIST为例

加载数据集 # 载入MNIST训练集和测试集 transform transforms.Compose([transforms.ToTensor(),]) train_loader datasets.MNIST(rootdata,transformtransform,trainTrue,downloadTrue) test_loader datasets.MNIST(rootdata,transformtransform,trainFalse) # 可视化样本 …

[Go版]算法通关村第十八关青铜——透析回溯的模版

目录 认识回溯思想回溯的代码框架从 N 叉树说起有的问题暴力搜索也不行回溯 递归 局部枚举 放下前任Go代码【LeetCode-77. 组合】回溯热身-再论二叉树的路径问题题目:二叉树的所有路径Go 代码 题目:路径总和 IIGo 代码 回溯是最重要的算法思想之一&am…

看我为了水作业速通 opengl freeglut!

参考视频计算机图形学基础–OpenGL的实现_哔哩哔哩_bilibiliT 图形绘制 点 GL_POINTS #define FREEGLUT_STATIC // Define a static library for calling functions #include <GL/freeglut.h> // Include the header filevoid myPoints() { //show three points in sc…

MySQL中大量数据优化方案

文章目录 1 大量数据优化1.1 引言1.2 评估表数据体量1.2.1 表容量1.2.2 磁盘空间1.2.3 实例容量 1.3 出现问题的原因1.4 解决问题1.4.1 数据表分区1.4.1.1 简介1.4.1.2 优缺点1.4.1.2 操作 1.4.2 数据库分表1.4.2.1 简介1.4.2.2 分库分表方案1.4.2.2.1 取模方案1.4.2.2.2 range…

JAVA毕业设计105—基于Java+Springboot+Vue的校园跑腿系统(源码+数据库)

基于JavaSpringbootVue的校园跑腿系统(源码数据库)105 一、系统介绍 本系统前后端分离 本系统分为管理员和用户两个角色 用户&#xff1a; 登录&#xff0c;注册&#xff0c;余额充值&#xff0c;密码修改&#xff0c;发布任务&#xff0c;接受任务&#xff0c;订单管理&…

(多线程)并发编程的三大基础应用——阻塞队列、定时器、线程池【手搓源码】

9.2 阻塞式队列 BlockingQueue<Integer> blockingQueue new LinkedBlockingQueue<Integer>();BlockingQueue<String> queue new LinkedBlockingQueue<>(); // 入队列 queue.put("abc"); // 出队列. 如果没有 put 直接 take, 就会阻塞. St…

IDEA 删除一次性删除所有断点

Ctrl Shift F8 &#xff08;打开“断点”对话框&#xff09; Ctrl A &#xff08;选择所有断点&#xff09; Alt Delete &#xff08;删除选定的断点&#xff09; Enter &#xff08;确认&#xff09;

数字孪生技术:工业数字化转型的引擎

数字孪生是一种将物理实体数字化为虚拟模型的技术&#xff0c;这些虚拟模型与其物理对应物相互关联。这种虚拟模型通常是在数字平台上创建的&#xff0c;它们复制了实际设备、工厂、甚至整个供应链的运作方式。这使工业企业能够实现以下益处&#xff1a; 1. 实时监测和分析 数…

(Java)中的数据类型和变量

文章目录 一、字面常量二、数据类型三、变量1.变量的概念2.语法的格式3.整型变量4.长整型变量5.短整型变量6.字节型变量 四、浮点型变量1.双精度浮点数2.单精度浮点数 五、字符型常量六、布尔型变量七、类型转换1.自动类型转换&#xff08;隐式&#xff09;2.强制类型转换(显式…

【数据结构】数组和字符串(四):特殊矩阵的压缩存储:稀疏矩阵——三元组表

文章目录 4.2.1 矩阵的数组表示4.2.2 特殊矩阵的压缩存储a. 对角矩阵的压缩存储b~c. 三角、对称矩阵的压缩存储d. 稀疏矩阵的压缩存储——三元组表结构体初始化元素设置打印矩阵主函数输出结果代码整合 4.2.1 矩阵的数组表示 【数据结构】数组和字符串&#xff08;一&#xff…

一篇教你学会Ansible

前言 Ansible首次发布于2012年&#xff0c;是一款基于Python开发的自动化运维工具&#xff0c;核心是通过ssh将命令发送执行&#xff0c;它可以帮助管理员在多服务器上进行配置管理和部署。它的工作形式依托模块实现&#xff0c;自己没有批量部署的能力。真正具备批量部署的是…

生产管理中,如何做好生产进度控制?

在生产管理中&#xff0c;我们常常会遇到以下问题&#xff1a; 由于计划不清或者无计划&#xff0c;导致物料进度无法保障&#xff0c;经常出现停工待料的情况。 停工待料导致了生产时间不足&#xff0c;为了赶交货期&#xff0c;只能加班加点。 生产计划并未发挥实际作用&am…

14、Python -- 列表推导式(for表达式)与控制循环

目录 for表达式&#xff08;列表推导式&#xff09;列表推导式的说明使用break跳出循环使用continue忽略本次循环使用return结束函数 列表推导式 使用break跳出循环 使用continue忽略本次循环 for表达式&#xff08;列表推导式&#xff09; for表达式用于利用其他区间、元组、…

哪些车企是前向雷达大客户?国产突围/4D升级进展如何

可穿透尘雾、雨雪、不受恶劣天气影响&#xff0c;唯一能够“全天候全天时”工作&#xff0c;同时在中远距离的物体识别能力&#xff0c;毫米波雷达成为二十几年前豪华车ACC功能的必备传感器。 此后&#xff0c;随着视觉感知技术的不断成熟&#xff0c;尤其是Mobileye、特斯拉等…

强化学习代码实战(3) --- 寻找真我

前言 本文内容来自于南京大学郭宪老师在博文视点学院录制的视频&#xff0c;课程仅9元地址&#xff0c;配套书籍为深入浅出强化学习 编程实战 郭宪地址。 正文 我们发现多臂赌博机执行一个动作之后&#xff0c;无论是选择摇臂1&#xff0c;摇臂2&#xff0c;还是摇臂3之后都会返…

MySQL Join 类型

文章目录 1 Join 类型有哪些2 Inner Join3 Left Join4 Right Join5 Full Join 1 Join 类型有哪些 SQL Join 类型的区别 Inner Join: 左,右表都有的数据Left Join: 左表返回所有的行, 右表没有的补充为 NULLRight Loin: 右表返回所有的行, 左表没有的补充为 NULLFull Outer J…