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:
![](/assets/blank.gif)
function c = addme(a, b) switch nargin case 2c= a + b; case 1c = a + a ; otherwisec = 0; end
![](/assets/blank.gif)
返回的结果为 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数组。下面我们举例说明:
第一个例子:
![](/assets/blank.gif)
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 11 1 11 1 1 varargin{2} = some text varargin{3} = 3.1416
![](/assets/blank.gif)
第二个例子:
![](/assets/blank.gif)
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} ) endvarlist2( 10, 20, 30, 40, 50) Total number of inputs = 5 Inputs in varargin(3): 30 40 50
转载于:https://www.cnblogs.com/hyb221512/p/9347203.html
nargin与varargin的用法相关推荐
- Matlab中nargin,nargout,varargout以及varargin的用法 -
在写<用Matlab演示Parzen窗法>的时候,我还不知道怎样在m中设计可变参数函数. 后来阅读一些m自带函数源码时发现了它的秘密,只要将最后一个参数设置为varargin,就可以实现. ...
- matlab:nargin,varargin,varargout
nargin 简介 nargin是用来判断函数中输入变量的个数,这样就可以针对不同的情况执行不同的功能.通常可以用他来设定一些默认值. 使用场景 利用nargin判断输入参数个数 varargin 简 ...
- matlab 中关于nargin 以及 varargin 函数的使用
最近自己在学matlab function过程当中对于 varargin函数的使用有了疑惑 于是结合自己所看的教学以及搜集到的资料对于这两个函数的理解 nargin: number of functi ...
- varargin、varargout、nargin和nargout的使用方法
varargin.varargout.nargin和nargout的使用方法 varargin.varargout.nargin和nargout的使用方法 技巧实现 函数输入和输出参数个数确定的情况 ...
- nargin 和 nargout
nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能.通常可以用他来设定一些默认值,如下面的函数.例子,函数test1的功能是输出a和b的和.如果只输入一个变量,则认为另一 ...
- MATLAB寻址访问按什么优先,matlab笔记
在比赛的前几天查看一下可视化画图的方式 知识点目录 矩阵元素寻址 矩阵的逻辑运算符很重要 函数文件的写法 函数 函数的可变数量 跨空间变量传递 画图 数据分析 数据插值 三次样条插值法 #符号识别 p ...
- matlab私有函数,MATLAB 嵌套函数,子函数,私有函数,重载函数
MATLAB函数嵌套 MATLAB中M文件有两种类型,脚本M文件和函数M文件.脚本M文件是将可执行程序语句放入M文件中,就像在命令窗口那样,按其语句顺序及逻辑关系执行,可以理解为一般的顺序执行程序语句 ...
- python与matlab混合编程_python 与 matlab 混编
Matlab的官方文档中介绍了 Matlab 与其余编程语言之间的引擎接口,其中包括对于 Python 开放的引擎 API,可参考官方教程,其中包括引擎安装,基本使用,以及Python与Matlab之 ...
- matlab基本使用指南
目录 一.MATLAB介绍与使用 1.1 matlab功能 1.2 文件 1.3 全局变量 1.4 程序调试 二.数据操作 2.1 变量和语句 2.2 数据类型 2.2.1 数值型数据 2.2.2 字 ...
最新文章
- python 实现可以一直输入内容直到某个特定的值退出循环的操作
- 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)
- SQL获取当月天数的几种方法
- Android入门第八篇之GridView(九宫图)
- 子进程 post-installation script 返回了错误号 解决方法
- I see IC的破冰之旅
- Angular 内容投影 content projection 关于选择器问题的单步调试
- STM32学了很久,我还是不会做项目。
- python中形参*args和**kwargs简述
- RabbitMQ学习笔记-RabbitMQ深入理解
- FPGA RTL级设计原则
- java数组的初始化方式
- 浅谈前后端分离与实践 之 nodejs 中间层服务
- SetTimer函数的用法
- android 魅族 webview,魅族 Flyme 系统出现大面积应用闪退问题,提供临时解决方法...
- 对接企业微信3:网页授权登录
- 【tensorboard】解决ValueError: Duplicate plugins for name projector
- 【web框架】【zheng学习笔记(二)】【外网正式环境下部署(CentOS7.4)】
- Aspnet Mvc 前后端分离项目手记(二)关于token认证
- 论文解读:医学影像中的注意力机制
热门文章
- “相信美好,即将发生”——天泽智云
- Python_001_旅游评论情感倾向性分析_000_分析(基于深度学习的微博评论情感倾向性分析_胡西祥)论文
- Proe转Solidworks
- 桥接模式: Bridge
- Windows 11新版本安装时需要联网及登录微软账号
- Maven3.6.3 下载与配置
- CDA数据分析师协会等级认证证书
- MySQL中date、datetime、timestamp、time、year的区别
- 某大神网站发现2048一枚
- WPF 元素裁剪 Clip 属性