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】函数输入个数不定怎么办?相关推荐

  1. C++输入个数不定的数字

    需求: 输入一串数字,数字个数不定,回车后停止输入 **情况一:**以空格为间隔输入纯数字 #include<iostream> #include<vector> #inclu ...

  2. matlab函数输入顺序,求助:在MATLAB里如何输入时间序列中的时间

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [logRS,logERS,V]=RSana(x,n,method,q) %Syntax: [logRS,logERS,V]=RSana ...

  3. MATLAB函数参数个数控制

    if nargin < 1 else if nargin < 2 else if nargin < 4 end

  4. ACMNO.23 C语言-素数判定 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime

    题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 prime 来源/ ...

  5. 《数字图像处理》冈萨雷斯,Matlab函数汇总 .

    <数字图像处理>冈萨雷斯,Matlab函数汇总 . 图像显示 colorbar 显示彩条 getimage 由坐标轴得到图像数据 ice(DIPUM) 交互彩色编辑 image 创建和显示 ...

  6. 非常全的 matlab 函数

    一.常用对象操作:除了一般windows窗口的常用功能键外. 1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看. 2.who 可以查看当前工作空间变量名, who ...

  7. 求介绍matlab函数用法的书,MATLAB初学者教程--函数用法的简单介绍

    1.4 函数用法的简单介绍 1.4.1什么是函数 似乎很多人一听到函数这个词就会想到数学中的某个概念,然后对于恐惧数学的同学就开始打退堂鼓.在matlab当中到处可以用到函数,它的出现可以让我们用很简 ...

  8. MATLAB函数gensurf,matlab模糊逻辑(二)

    6.2 模糊推理结构FIS 6.2.1 不使用数据聚类方法从数据生成FIS结构 函数 genfis1 格式 fismat = genfis1(data) fismat = genfis1(data,n ...

  9. 【转】Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现

    转自:Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现_Jaster_wisdom的专栏-CSDN博客 之前在这里和这里调用了matlab自带的一些函数,是通过matl ...

最新文章

  1. uniapp 界面拖动,去掉半圆形阴影
  2. YaoCCAD软件中设置坐标原点
  3. 为什么物联网没有杀手级应用
  4. curl txt批量_curl与wget高级用法
  5. 【java】switch的用法介绍
  6. hyperledger部署java_Hyperledger Fabric(超级账本) Java 开发区块链 部署运行智能合约
  7. K3 Cloud 常用数据表整理
  8. SDR软件无线电知识要点(三)EVM
  9. 计算机运行慢提速小技巧,电脑运行慢?这样设置瞬间提速75%!
  10. 免费网站(视频,PPT,静态图片,动态图片,壁纸)
  11. php oa系统 缺点,PHPOA:被低估的OA自动化系统
  12. python中add方法_python中add函数怎么用
  13. 《metasploit The PenetrationTester's Guide》读书笔记v2
  14. 父母不会用智能机?这几个功能可要教会他们
  15. windows安装深度linux,最漂亮的国产Linux,windows下安装深度操作系统步骤
  16. matlab直流输电,基于MATLAB/Simulink的高压直流输电系统的仿真研究
  17. 自由软件之父抛弃OLPC,支持中国的龙梦:教孩子们使用Windows无异于教他们抽烟
  18. Android端2016年9月系统使用以及兼容测试
  19. 网页设计Hero Image
  20. 金融相关时间序列分析全指南

热门文章

  1. 在eclipse及myEclipse下安装插件之方法
  2. 廖大python实战项目第三天
  3. G - Mike and gcd problem
  4. 8.Redis 数据备份与恢复
  5. shell date
  6. LibJson数据解析方法
  7. LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)
  8. 《Head First Python》第五章--理解数据
  9. 数据结构(严蔚敏)之五——循环队列(c语言实现)
  10. nginx 配置404错误页面