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 ...
随机推荐
- 浅谈 Miller-Robbin 与 Pollard Rho
前言 $Miller-Robbin$ 与 $Pollard Rho$ 虽然都是随机算法,不过用起来是真的爽. $Miller Rabin$ 算法是一种高效的质数判断方法.虽然是一种不确定的质数判断法, ...
- avalon $computed不起作用?
computed写的个数,应该是只能一个的,之前写了两个,一个是空,一个里面有数据,那个有数据的不起作用,但是在有数据的里面写一个一个console.log就会起作用,所以将多余的空的computed ...
- OpenFOAM——设置自定义非均匀场区域
在使用OpenFOAM进行计算的时候,我们需要对计算域设置非均匀场,比如最典型的溃坝算例,在开始计算以前,我们需要首先设定某一区域的水的体积分数为1,就是下面这样的: 有可能我们在计算传热问题的时候, ...
- Selenium对浏览器支持的版本【2019/10/25更新】
最新的selenium与几种常用浏览器的版本兼容情况:(以下驱动,点击直接跳转官方下载地址) 尽量选择最新版本-1的浏览器,比如最新的是60,那就使用59.(建议Chrome更新至72+版本.Fire ...
- LDAP -- ldap 的cn, ou, dc的含义
1. LDAP的存储规则 区分名(DN,Distinguished Name) 和自然界中的树不同,文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性,这一属性可以帮助我们来区别 ...
- android -------- RSA加密解密算法
RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用 RSA公开密钥密码体制.所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计 ...
- NFS的安装与使用
一.服务器端: 1.1安装NFS服务: #执行以下命令安装NFS服务器, #apt会自动安装nfs-common.rpcbind等13个软件包 sudo apt install nfs-kernel- ...
- 爬虫中Requests模块
Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “ ...
- 搭建SpringCloud微服务
建立spring父模块 删除不必要的src目录 父模块中的pom.xml中添加相应的依赖以及插件.远程仓库地址 <!-- 项目的打包类型, 即项目的发布形式, 默认为 jar. 对于聚合项目的父 ...
- [Tableau] Tableau for BI
主要链接 Tableau AWS 上的 Tableau Server Tableau on AWS Quick Starts Tableau教程[本篇来源] Tableau Desktop for U ...