1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Matlab】函数输入个数不定怎么办?

【Matlab】函数输入个数不定怎么办?

时间:2021-04-19 09:40:59

相关推荐

【Matlab】函数输入个数不定怎么办?

1.Introduction

有时调用Matlab官方函数时,发现一些函数输入参数的数量可多可少,可长可短,可大可小,咳咳。。

比如常见的xlsread函数,可以直接读 Excel 文件,也可以指定读取 Excel 的范围,那么这种功能是怎么实现的呢?

2.Materials and methods

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

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

通过上面的代码,可以看到,其中有一个很重要的变量就是nargin,他反应了变量的输入个数。了解这个之后,我们就可以通过nargin来执行一系列逻辑操作。下面通过 “三个和尚” 的例子,展示下输入变量个数不定的操作:

function [outputMonks,outputString] = threeMonks(monk1,monk2,monk3)switch nargin% If the number of function input arguments(data) is 1.case 1outputMonks = monk1;outputString = '一个和尚有水喝';% If the number of function input arguments(data) is 2.case 2outputMonks = [monk1,monk2];outputString = '两个和尚抬水喝';% If the number of function input arguments(data) is 3.case 3outputMonks = [monk1,monk2,monk3];outputString = '三个和尚没水喝';% Generate a warning dialog for other input.otherwisemsgbox('程序仅支持3个以下的和尚', ... 'Warning','warn');endend

3. Results and discussion

上面我们构建了一个默认三输入的函数,通过swith语句判断,当输入个数不同时,会输出不同的字符串。下面看看效果:

可以看到,由于在swich的分支里,所有输入参数都有调用,所以当输入1个或者2个变量时,函数也不会报错。当函数没有输入时,我们设置了一个警告框来提示用户。而当输入个数超过初始预留个数后,便会报错。所以这样的话,便无法实现未知变量个数的输入问题,期待有更好的方法实现~

4. Conclusion

Matlab 真好用, 基本能想到的函数官方都给封装好了。前段时间写代码时,学会了很多小技巧,准备攒着写博客,结果发现过了一礼拜,忘得都差不多了,哈哈哈,这几天应该会高产了~

猜你喜欢:👇🏻

⭐【Matlab】如何自定义无输入和无输出的函数?

⭐【Matlab】判断是否为空?是否为NaN?

⭐【Python】函数默认参数怎么改变?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。