Matlab M文件变量检测与传递
M文件中变量的检测与传递
可变数量的输入输出变量(varargin,vararout):
Matlab的输入输出变量数量可变,并具有以下特点:
- 可变输入输出变量必须在正常变量之后
- varargin和vararout本身为元胞数组
- 在函数调用时,会优先把变量赋予正常变量,在赋予varargin和vararout
- 可以使用vargin和varout获取实际的输入输出参数数量
例:
function varargout = spirallength2(d,n,varargin) % 画出螺旋线或螺旋条带 % d螺旋的旋距 % n:螺旋的圈数 % varargin可输入变量第一个值可改变螺旋大小,之后的参数设定属性Nin=length(varargin)+; %Nin为输入变量的长度+ if nargout> %输出参数多于一个时报错 error('Too many output arguement!'); end j=sqrt(-); phi = :pi/:n**pi; amp = :d/:n*d; spir = amp .*exp(j*phi); %准备数据 if nargout== switch Nin case %输入变量只有d,n plot(spir,'b'); case %可变输入变量varargin有一个varargin{} d1=varargin{}; amp1=(:d/:n*d)+d1; spir1=amp1.*exp(j*phi); plot(spir,'b'); hold on; %开启绘图保留,原来的绘图不会被删除 plot(spir1,'b'); hold off; %关闭绘图保留 otherwise d1=varargin{}; amp1=(:d/:n*d)+d1; spir1=amp1.*exp(j*phi); plot(spir,varargin{:end}); %使用varargin{}之后传的属性值 hold on; plot(spir1,varargin{:end}); end axis('square') %坐标轴设置,使用相同长度的坐标轴线。相应调整数据单位之间的增量 else %有一个输出参数的情况 phi0=:pi/:n**pi; amp0=:d/:n*d; spir0=amp0 .*exp(j*phi0); varargout{}=sum(abs(diff(spir0))); if Nin> d1=varargin{}; amp1=(:d/:n*d)+d1; spir1=amp1.*exp(j*phi0); varargout{}=sum(abs(diff(spir1))); end end end
- 在命令行输入:
>> spirallength2(2,2)
输入参数只有d,n,无输出参数
- 在命令行输入:
>> spirallength2(2,2,1,'Marker','o')
第三个输入参数’1’使得螺旋线直径加一,第4,5个参数使得螺旋线形状变为’o’
- 在命令行输入
>> a=spirallength2(2,2,1,'Marker','o')
有输出参数,可获得螺旋线周长
Matlab M文件变量检测与传递的更多相关文章
- matlab mat文件读取和调用
13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存.导入和文件打开.13.1.1 文件的存储 MATLAB支持工作区的保存.用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时 ...
- Matlab之文件读写
读文件: (0)自己添加 你可以将txt的一些文本数据直接拷贝到matlab窗口,然后保存为mat文件,下次就可以直接采用load函数了. (1)Load load 从Matlab的数据文件.mat ...
- MATLAB中文件的读写和数据的导入导出
http://blog.163.com/tawney_daylily/blog/static/13614643620111117853933/ 在编写一个程序时,经常需要从外部读入数据,或者将程序运行 ...
- Visual Studio 控制台应用程序 同时使用OpenCV和matlab mat文件操作
matalb具有灵活的图像处理,代码编写起来简洁而高效.而OpenCV具有很多成熟的计算机视觉算法,能够处理很多实时的识别处理等问题,而且代码运行起来效率很高.所以如何结合两者之间的优点,是让很多学术 ...
- matlab数值数据和变量名
1.2MATLAB数值数据 l 数值数据类型的分类 l 数值数据的输出格式 l 常用数学函数内部函数 1.数值数据类型的分类 l 整型 l 浮点型 l 复数型 (1)整型 1.数值数据类型 ...
- Matlab 读取文件夹中所有的bmp文件
将srcimg文件下的bmp文件转为jpg图像,存放在dstimg文件夹下 str = 'srcimg'; dst = 'dstimg'; file=dir([str,'\*.bmp']); :len ...
- 利用SHELL脚本实现文件完整性检测程序(1.2版更新)
一..开发背景 因时势所逼,需要对服务器的文件系统实行监控.虽然linux下有不少入侵检测和防窜改系统,但都比较麻烦,用起来也不是很称手.自己琢磨着也不需要什么多复杂的功能,写个脚本应该就可以满足基本 ...
- matlab提速技巧(自matlab帮助文件)
matlab提速技巧(自matlab帮助文件) 1.首先要学会用profiler.1.1. 打开profiler.To open the Profiler, select View -> Pro ...
- C++多文件变量
不要在头文件中定义变量,在头文件中声明变量.定义放在对应的源文件中.其他地方只能用extern声明. 例如: 1 在头文件a.h中声明一个int变量: extern int ix; 2 在源文件a.c ...
随机推荐
- element ui 中的时间选择器怎么设置默认值/el-date-picker区间选择器怎么这是默认值
template代码 <el-date-picker value-format="yyyy-MM-dd" v-model="search.date" ty ...
- span 不使用float 靠右对齐且垂直居中
一般让div 里的span 靠右对齐用的方法比较多的是float:right. 这次由于各种原因我不想用float 先看效果: HTML 部分 <div class="customer ...
- 辨析Java方法参数中的值传递和引用传递
小方法大门道 小瓜瓜作为一个Java初学者,今天跟我说她想通过一个Java方法,将外部变量通过参数传递到方法中去,进行逻辑处理,方法执行完毕之后,再对修改过的变量进行判断处理,代码如下所示. publ ...
- 绿色地狱 - 纽博格林赛道详解 | Nürburgring
Nürburgring - Green Hell [統哥] 車迷人生必去一趟的德國紐柏林賽道之旅 F1赛道通常短而宽,一是为了观赏性,二是为了安全. 而Nürburgring赛道则是F1赛道的极端反面 ...
- ls列出排除的文件
今天有个需求,将从日志文件夹中列出它排除旧备份日志的文件. ls -lhrt --ignore="*.gz" --ignore="*.zip"
- Python中为什么没有++和–(自增/减)(转)
原文地址:http://blog.csdn.net/guang09080908/article/details/47273775(侵删) 这两天看了一些网上各大互联网公司的面试题,发现腾讯特别喜欢考察 ...
- 浏览器渲染基本原理(二):JS引擎的工作方式
JS引擎也可以叫做JS解释器 浏览器的组成 浏览器的核心是两部分:渲染引擎和JavaScript解释器(又称JavaScript引擎). (1)渲染引擎 渲染引擎的主要作用是,将网页从代码“渲染”为用 ...
- gradle 使用maven repository 的设置
repositories { //Maven中心库(http://repo1.maven.org/maven2) mavenCentral() //本地库,local repository ...
- 使用nodejs+http(s)+events+cheerio+iconv-lite爬取2717网站图片数据到本地文件夹
源代码如下: //(node:9240) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' ...
- Tengine的说明
什么是Tengine 官方帮助文档:http://tengine.taobao.org/changelog_cn.html