有时调用Matlab官方函数时,发现一些函数输入参数的数量可多可少,可长可短,可大可小,咳咳。。
比如常见的 xlsread 函数,可以直接读 Excel 文件,也可以指定读取 Excel 的范围,那么这种功能是怎么实现的呢?

首先,我们打开 xlsread 函数,看看他内部是怎么写的,如下:


可以看到,这个函数封装时,默认有5个输入,那么他是怎么实现1个输入也不报错的呢?我们继续往下看他的代码,不过翻了几页发现都是注释,墙裂建议大家多写注释,多写标准化注释,这样即使几个月后再想调用这个函数,也会感觉了如指掌

通过上面的代码,可以看到,其中有一个很重要的变量就是 nargin ,他反应了 变量的输入个数。了解这个之后,我们就可以通过 nargin 来执行一系列逻辑操作。下面通过 “三个和尚” 的例子,展示下输入变量个数不定的操作:
上面我们构建了一个默认三输入的函数,通过 swith 语句判断,当输入个数不同时,会输出不同的字符串。下面看看效果:


可以看到,由于在 swich 的分支里,所有输入参数都有调用,所以当输入1个或者2个变量时,函数也不会报错。当函数没有输入时,我们设置了一个警告框来提示用户。而当输入个数超过初始预留个数后,便会报错。所以这样的话,便无法实现未知变量个数的输入问题,期待有更好的方法实现
Matlab 真好用, 基本能想到的函数官方都给封装好了。前段时间写代码时,学会了很多小技巧,准备攒着写博客,结果发现过了一礼拜,忘得都差不多了,哈哈哈,这几天应该会高产了~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/203558.html