nargin与varargin的用法
nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用它来设定一些默认值。如下例所示:
函数文件 examp.m
function fout=examp(a,b,c)
if nargin==1
fout=a;
elseif nargin==2
fout=a+b;
elseif nargin==3
fout=(a*b*c)/2;
end
另外一例:
function [x0, y0] = myplot(x, y, npts, angle, subdiv)
% MYPLOT Plot a function.
% MYPLOT(x, y, npts, angle, subdiv)
% The first two input arguments are
% required; the other three have default values ...
if nargin < 5, subdiv = 20; end
if nargin < 4, angle = 10; end
if nargin < 3, npts = 25; end
...
if nargout == 0
plot(x, y)
else
x0 = x;
y0 = y;
end
注:%x,y是两个变量,npt,angle,subdiv这三个参数具有默认值,不需要输入。
if nargin < 5, subdiv = 20; end如果输入变量的个数小于5个,那么给subdiv赋默认值。
if nargin < 4, angle = 10; end如果输入变量的个数小于4个,那么给angle赋默认值。
......
详细用法 在matlab窗口中输入 help nargin
nargin的用法:
nargin:number of function input arguments,指的是一个函数的输入变量的个数。
用法:nargin或着nargin(fx), 其中fx指的是一个函数名或着函数句柄。
当一个函数的参数中含有varargin变量时,这时候返回值为负。
下面举例说明:
用于nargin:

function c = addme(a, b)
switch nargin
case 2
c= a + b;
case 1
c = a + a ;
otherwise
c = 0;
end

返回的结果为 a + b。
用到nargin(fx):
fx = 'addme';
nargin(fx)
ans =
2
当含有 varargin参数时,
function mynewplot(x, y, varargin) fx = 'mynewplot';
nargin(fx)
ans =
-3
varargin的用法:
varargin:Variable-length input arguments list. 即指的是变输入参数列表;
varargin 就是一个输入 变量,它可以是任意个不定个数的输入参数。要求:第一,指明它用小写的字母表示;第二,在函数的参数列表中,varargin放在最后面。 当函数执行时,varargin就是一个1*n的cell数组。下面我们举例说明:
第一个例子:

function varlist( vargarin)
fprintf(' Number of arguments: %d\n',nargin);
celldisp(varargin) varlist( ones(3), 'some text', pi)
Number of arguments:3
varargin{1} =
1 1 1
1 1 1
1 1 1
varargin{2} =
some text
varargin{3} =
3.1416

第二个例子:

function varlist2(x, y, varargin)
fprintf('Total number of inputs = %d\n', nargin);
nVarargs = length(varargin);
fprintf('Inputs in varargin( %d ) :\n', nVarargs);
for k = 1 : nVarargs
fprintf(' %d ', varargin{k} )
end varlist2( 10, 20, 30, 40, 50)
Total number of inputs = 5
Inputs in varargin(3):
30
40
50
nargin与varargin的用法的更多相关文章
- MATLAB中的nargin与varargin的用法
nargin的用法: nargin:number of function input arguments,指的是一个函数的输入变量的个数. 用法:nargin或着nargin(fx), 其中fx指的是 ...
- Matlab 中的varargin/nargin varargout/nargout
Varargin = var+ arg+ in = variable length(可变长) input argument(输入参数) list(列表) :允许调用该函数时根据需要改变输入参数的个数 ...
- imadjust函数分析一
声明:本文涉及到的行数皆指本文提供的附件imadjust.m的代码中行数 本文只讨论imadjust函数是一种用法,即 J = IMADJUST(I,[LOW_IN; HIGH_IN],[LOW_OU ...
- MATLAB中文论坛帖子整理(GUI)
MATLAB中文论坛帖子整理(GUI) 目 录 1.GUI新手之——教你读懂GUI的M文件... 10 2.GUI程序中改变current directory引起的问题... 15 3.GUI中 ...
- python 与 matlab 混编
用于 Python 的 MATLAB 引擎 API 快速入门 安装用于 Python 的 MATLAB 引擎 API Matlab的官方文档中介绍了 Matlab 与其余编程语言之间的引擎接口,其中包 ...
- Simulink仿真入门到精通(十一) 模块的封装
当用户编写了自定义的S函数或者使用Simulink标准库中的模块搭建子系统后,可以通过封装为其设计显示外观,追加参数对话框. 封装是构建一个以对话框为接口的交互界面的过程,它将复杂的模块逻辑关系隐藏起 ...
- matlab GUI界面编程总结
去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录. 从简单的例子说起吧. 创建Matlab ...
- Matlab编程基础
平台:Win7 64 bit,Matlab R2014a(8.3) “Matlab”是“Matrix Laboratory” 的缩写,中文“矩阵实验室”,是强大的数学工具.本文侧重于Matlab的编程 ...
- 转载:关于Matlab GUI的一些经验总结
去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录. 从简单的例子说起吧. 创建Matlab ...
随机推荐
- activeX
对外接口和classid在idl文件中,接口功能实现在ctrl类中实现
- Web前端基础——jQuery(二)
一.jQuery 中的常用函数 1) $.map(Array,fn); 对数组中的每个元素,都用fn进行处理,fn将处理后的结果返回,最后得到一个数组 //因为这些操作,没有与dom元素相关的,所以可 ...
- 【Spring】25、Spring代理。 BeanNameAutoProxyCreator 与 ProxyFactoryBean
一般我们可以使用ProxyBeanFactory,并配置proxyInterfaces,target和interceptorNames实现,但如果需要代理的bean很多,无疑会对spring配置文件的 ...
- 【Redis】4、Redis学习资料
Redis 集群规范 http://www.redis.cn/topics/cluster-spec.html Redis 集群教程 http://www.redis.cn/topics/cluste ...
- HTML5的DeviceOrientation实现微信摇一摇功能
在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封装了设备的运动传感器时间,通过改时间可以获取设备的运动状态.加速度等数据(另还有deviceOrientat ...
- Runtime和Process
private void runByshcommand(String command) { try { System.out.println("开始执行命令....."); Pro ...
- React中props
今天让我们开启新的篇章好吧,来搞一搞React,以下所有操作都是我个人的一些理解,如果有错吴还请指出,想要看更全的可以去React官网可能一下子好吧 昨天按摩没到位,导致今天身体不太行,撸码千万别苦了 ...
- Ubuntu 中卸载软件的几种命令
1.在终端里 apt-get安装的软件:安装软件sudo apt-get install softname1 softname2softname3--卸载软件 sudo apt-get remove ...
- 编写xml文件不当时会出现R文件找不到情况
1,先检查xml文件是否报错,报错的话直接找到报错行. 2,xml文件若不报错,可能是文本值得格式输入错误 比如android:text=“<0.5km”,此时的小于号就会引发错误,导致R文件找 ...
- springboot 学习之路 22 (读取自定义文件)
springboot读取自定义的properties文件: package com.huhy.demo.properties; import lombok.Data; import org.sprin ...