nargin

nargin为“number of input arguments”的缩写。 在matlab中定义一个函数时, 在函数体内部, nargin是用来判断输入变量个数的函数。

nargin(fx)在函数fx的定义声明中返回输入参数的个数。如果函数包括varargin其定义,那么nargin返回的输入个数为负。例如函数foo输入有 a,b,和varargin三个参数,那么nargin('foo”)返回值为-3

从而可以进行不定输入量的计算

function re = add_multi(a,b,c,d)
%
%
if nargin ==4
    re =  a + b + c + d;
elseif nargin ==3

re = a + b + c ;

nargout

nargout

nargout的作用是在matlab中定义一个函数时, 在函数体内部, nargout指出了输出参数的个数(nargin指出了输入参数的个数)。 特别是在利用了可变参数列表的函数中, 用nargout获取输出参数个数很方便。

应用举例
function varargout = foo(varargin)
fprintf('How many output arguments? %d\n', nargout);
for k=1:nargout
varargout(k) = {varargin{k}};
end
end
输出结果
>> ret = foo(1, 2, 3)
How many output arguments? 1
ret = 1
>> [retA, retB] = foo(1, 2, 3)
How many output arguments? 2
retA = 1
retB = 2
>> [retA, retB, retC] = foo(1, 2, 3)
How many output arguments? 3
retA = 1
retB = 2
retC = 3

还有就是上文已出现的两个参数

varargin

varargin是matlab的一个函数,是“Variable length input argument list”的缩写,它提供了一种函数可变参数列表机制,允许调用者调用该函数时根据需要来改变输入参数的个数。

function re = add_var(a,b,varargin)
%
%
% author:jzq
if nargin ==2
    re =  a + b;
elseif nargin ==3
    c = varargin[1];
    re = a + b + c;
else 
    error( 'wrong');

end

只要把函数的参数列表的最后一个参数写成varargin,就可以在函数内部以访问cell数组的方式来获取可变参数的信息

varargout

varargout可以看做“Variable length output argument list”的缩写。在matlab中定义m函数时通过varargout我们可以得到可变个数个返回值

function varargout=add_my(b,c,d)% add_my        输入参数的相加% 输入        加数b、c、d% 输出        varargout为输入参数的运算结果% 2012年6月22日编if nargout==1    a1 = b + c + d;    varargout={a1};elseif nargout==2    a1 = b + c + d;a2 = b + c;    varargout={a1,a2};elseif nargout==3     a1 = b + c + d;a2 = b + c;a3 = b + d;    varargout={a1,a2,a3};else    error('wrong')end

>> a=add_my(1,2,3)

a =

     6

>> [a,b]=add_my(1,2,3)

a =

     6

b =

     3

>> [a,b,c]=add_my(1,2,3)

a =

     6

b =

     3

c =

     4

>> add_my(1,2,3)??? Error using ==> add_my at 22wrong

关于matlab的输入输出参数相关推荐

  1. java调用matlab 数组_JAVA调用matlab程序 输入输出数据转换

    JAVA调用matlab程序 输入输出数据转换 JAVA 程序调用 matlab函数(matlab导出jar包里的函数).JAVA解析matlab返回数据时,机器需要先安装matlab运行时环境 并 ...

  2. 参数函数 matlab,MATLAB的函数参数

    本节介绍一下 MATLAB 的函数参数.具体的操作步骤如下: 确定函数参数数量 当调用一个函数时,所用的输入变量和输出变量的数量,在函数内是确定的.nargin 函数确定输入变量个数,nargout ...

  3. ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift ...

  4. matlab melbankm,Matlab v_melbankm函数参数详解(英文附例)

    Matlab v_melbankm函数参数详解(英文附例) 笔者使用的是R2019的matlab,下载了voicebox安装至matlab路径下即可使用.下载voicebox请参看此博客 需要注意的是 ...

  5. SSM中使用注解方式调用输入输出参数存储过程,输入参数为javabean方式,Boolean类型对应TINYINT类型

    最近在捣鼓SSM使用注解方式调用有输入输出参数的存储过程,趟了不少坑,网上一堆没用抄袭的,废话不多说,直接上代码. Controller层: /*** 注册用户** @param userName* ...

  6. Matlab中的参数解析

    本文中,我们讨论如何在Matlab中进行参数解析. 参数解析对于软件开发和程序设计至关重要.在Matlab中,函数参数传递一般采用直接传值方式,最复杂的情况下也就是使用varargin变长数组.那么如 ...

  7. 用matlab画标准雷电波,雷电波发生器的MATLAB仿真及参数选取sc.doc

    雷电波发生器的MATLAB仿真及参数选取sc 雷电波冲击电流发生器的MATLAB/Simulink仿真及参数选取 摘要:本文介绍了雷电波冲击电流发生器的工作原理,对冲击电流发生器的放电回路进行了理论分 ...

  8. Matlab mfcc函数参数详解(英文附例)

    Matlab mfcc函数参数详解 其实可以直接打开源代码看哈. %MFCC Extract the mfcc, log-energy, delta, and delta-delta of audio ...

  9. matlab怎么设置参数设置,matlab设置参数

    matlab精度设置_计算机软件及应用_IT/计算机_专业资料.format 这个函数不是用于控制运算精度的,它只能控制结果显示类型.运 算的时候还是用 matlab 自己的精度,具体...... 参 ...

最新文章

  1. 一行Python代码能实现这么多丧心病狂的功能?(代码可复制)
  2. 全球首个AI女主播上岗了!太惊艳了!
  3. angular http demo
  4. 浅谈HTTP事务的一个过程
  5. Python(2):基本数据类型
  6. springboot 多数据源mybatis的两种整合方法
  7. 这么奇葩搞笑的代码注释你见过吗
  8. k8s 组件介绍-API Server
  9. 《天天数学》连载42:二月十一日
  10. [转载]ArcGIS SERVER 9.3如何清除REST缓存
  11. Qt入门(1)——初识Qt
  12. 基于Matlab的棋盘光栅的设计
  13. 从文案到配音,只需要一部手机!5分钟掌握影视解说制作流程
  14. 以心换心,将心比心----项目经理要学会站在客户的角度上看问题
  15. 【NLP】常见的自然语言处理任务和技术
  16. java安卓分屏是如何实现的_安卓原生分屏有了,谷歌说:Android Q要实现分屏应用多开...
  17. Linux进程中的RSS和VSZ
  18. Leetcode中几道二分查找(Binary Search)的算法题总结
  19. 红米3 android驱动,红米3驱动最新版
  20. 字符集本地化(locale)与输入法系列讲座-----(3) truetype造字程序详解

热门文章

  1. 运动控制激光刻码扫码追溯源代码 生产实战源代码
  2. 实现医生工作站的病程模板功能的代码(十二)
  3. CodeForces 436C (Dungeons and Candies)
  4. Zabbix之配置华为交换机监控项
  5. MySql查询(各种操作)
  6. 计算机输入法切换用户,W7系统输入法切换的快捷键怎么修改
  7. Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包...
  8. 电脑自带录屏功能怎样操作?一看你就会!
  9. Wdf框架之WdfObject状态机(2)
  10. VC++ - 各种DC及DC资源释放