MATLAB实用知识,如何对函数的输入进行检查和解析?
为什么要对函数的输入进行检查
在工程计算中,如果一个函数的输入有错误,我们总是希望能够尽早的通过对输入的检查,捕捉到这些错误,并及时终止程序。这样做的原因是,如果等到程序运行时出错或者运行结束后计算结果出错再查找,那就很迟了,而且通常debug的成本很高。在多人合作的项目中,如果一个开发人员提供了一个公用的API(应用程序接口)给别人使用,除了要提供说明文档规定输入的格式之外,API内部通常还需要对输入进行彻底的检查,因为开发人员不能保证每个使用者都会仔细地读文档,并且每次都能提供符合规定的数据,作为一个友好的API,一旦输入出了错,API应该及时提示用户,并且帮助诊断错误原因。同理,这样做的原因是,如果要等到程序运行时出错或者运行结束后计算结果出错,不但成本高,而且使用者也许根本无法查出错误的原因。 在MATLAB中,我们可以使用MATLAB提供的专门的函数validateattributes,validatestring和inputParser类来对输入进行检查。它们提供全面的检查功能和清晰的错误提示,是全套的参数检查解析方案。
validateattributes的基本使用
先介绍validateattributes的基本使用。假设在图像处理计算中,我们设计了一个函数叫做processImg
,用来对一张大小是500 x $500 的灰值图像进行处理,计算之前我们需要检查输入是否符合规定,这可以使用validateattributes函数来完成:
MATLAB实用知识,如何对函数的输入进行检查和解析?相关推荐
- MATLAB基础知识——范数求解函数norm
一.范数的基础概念 矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度. 基于MATLAB语言,对应于向量和矩阵分别存在以下三种常用的范数,分别为:1范数(L1范数),2范数(L2范数),∞范数(L ...
- MATLAB 基础知识 数据类型 函数句柄 将一个函数传递到另一个函数
您可以使用函数句柄作为其他函数(称为复合函数)的输入参数.这些函数基于某个范围内的值计算数学表达式.典型的复合函数包括 integral.quad2d.fzero 和 fminbnd. 例如,要计算自 ...
- 【Matlab】 构造函数时为函数输入设置默认值
使用python等语言编程时,通常可以直接在函数的输入用"="为输入参数赋予默认值,最近使用matlab做项目时,发现matlab无法这样实现.在看了matlab文档后,发现nar ...
- Matlab基本知识概况
为什么80%的码农都做不了架构师?>>> MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环 ...
- MATLAB学习笔记2:MATLAB基础知识(下)
阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...
- matlab中exp(liangx),Matlab基础知识
<Matlab基础知识>由会员分享,可在线阅读,更多相关<Matlab基础知识(122页珍藏版)>请在人人文库网上搜索. 1.Lxy, China Jiliang Univer ...
- matlab基本知识(入门)
matlab是一项很重要的工具,在图像处理的领域,可以快速实现算法的可行性.所以本人最近学了下matlab,这里介绍下matlab的一些基本知识,后面再写个matlab中数组,向量,和矩阵的相操作.然 ...
- 专题一matlab基础知识
这是matlab最基础的语法解释部分,后面将会陆续的更新有关matlab的学习知识 专题一matlab基础知识 数值数据类型的分类 整型 无符号整数:无符号8位整数.无符号16位整数.无符号32位整数 ...
- matlab欠阻尼系统注释,MATLAB 实用教程:第5章MATLAB程序设计
<MATLAB 实用教程:第5章MATLAB程序设计>由会员分享,可在线阅读,更多相关<MATLAB 实用教程:第5章MATLAB程序设计(31页珍藏版)>请在人人文库网上搜索 ...
最新文章
- Maven向本地仓库导入官方仓库没有的jar包
- Django输入日期返回第几天time
- Java中Array和ArrayList之间的9个区别
- 08 在C#程序中使用注释测试分析 1214
- CNKI学术趋势与万方数据的知识脉络
- 斐波那契数列n项的值。(递归和非递归算法Golang实现)
- 3-汇编语言中与内存访问相关的寄存器/操作(DS+数据段+SS/SP+栈相关操作)
- 迅雷地址转换 php,PHP迅雷/快车/QQ旋风下载地址与普通URL链接互转
- 核磁共振测量动物脂肪、水分、瘦肉、代谢
- 计算机驱动器程序,打开计算机CD驱动器的位置
- python必背的英语单词怎么写_背英语单词的最好方法
- 市场调研-氧化锇(VIII)市场现状及未来发展趋势
- pytest官方文档 6.2 中文翻译版(第十章):警告捕捉
- ThinkPHP中IP地址定位,包括IP地址库文件
- spark 终止 运行_如何在数据源运行ou时停止spark流
- jason by gson复习
- 小程序微信支付功能开发
- 为什么软件外包不再“起作用”了
- supervisor的用法
- 卸载计算机安全证书,如何卸载ssl证书_卸载根证书的操作指南_什么是SSL卸载,SSL卸载优点有哪些? - 沃通SSL证书...
热门文章
- HT for Web 3D游戏设计设计--汉诺塔(Towers of Hanoi)
- CentOS下软件的安装
- Jquery获取ckEditor的内容
- XP快速启动栏里的显示桌面没有了,其他的都还在,应该怎么再添加进去?
- 解决ASP.NET AJAX在frame及iframe中跨域访问的问题
- opencv鼠标操作,画矩形
- Leetcode 70. 爬楼梯 动态规划 c语言
- net-snmp交叉编译出现 undefined reference to dlopen,dlsym,dlclose错误
- python3入门与进阶笔记_我的Python3萌新入门笔记
- vue created 调用方法_深入解析 Vue 的热更新原理,偷学尤大的秘籍?