MATLAB程序控制语句
Matlab中的程序控制语句包括条件控制(Conditional Control)、循环(Loop Control)、异常处理(Error Control)和程序返回(Program Terminate).
1 条件控制语句
条件控制语句又称分支语句,在Matlab中包括if语句和switch语句.
(1) if 语句可以包含多个else或elseif也可以不包含,它必须以end结尾,例如
a = 25;
if a>30
disp(‘a比30大’); %输出字符串
elseif a>20
disp(‘a比20大比30小’);
else
disp(‘a比20小’);
end;
在命令窗口中运行结果如下:
注意,其中elseif是连写.
(2) Switch 语句一般包含若干个case和一个otherwise,且必须以end结尾,当表达式的值满足某一个case后,就只执行此case下的语句并结束,不再考虑后面的case. 例如
a = ;
switch rem(a,)
case
disp(‘a能被2整除’);
case
disp(‘a不能被2整除’);
otherwise
disp(‘异常’);
end;
2 循环语句
Matlab中的循环语句包括for循环和while循环,循环内支持用continue和break语句跳出循环.
(1) for 循环用于循环次数明确的情况下, 其中控制循环的索引变量用冒号隔开,整个循环语句以end结束. 在默认情况下,每执行一次循环则索引变量加1(也可以自定义索引变量的步长,让每执行一次循环使索引变量增加k,k可为负数),当索引变量的值大于设定的结束值时结束循环.例如
x(,)=;
for n=:
x(,n)=*x(,n-)
end;
在命令窗口中运行结果如下:
(2) while循环用于在满足一定条件的情况下一直执行一段语句,当while后的条件不再满足时则结束循环, 例如
x(,)=;
n=;
while x(,n-)<
x(,n)=*x(,n-);
n=n+;
end;
的运行结果为 x=[1,2,4,8,16,32,64,128].
3 continue 和 break语句
简而言之,continue是结束本次循环,break是结束本层循环.
例如在一个for循环中,假设循环索引变量是i, 在i的取值为1到100之间的情况下执行循环(即执行100次循环),且循环模块中的语句总共有30条. 如果在i=50时,执行了循环区域中的前10条语句后出现了continue语句,则此时程序会放弃执行剩下的20条语句,转而执行第i=51次的循环. 因此,continue语句并不改变循环的总次数,只会导致某(些)次循环执行得不完整.
在相同情况下,如果程序在执行了循环区域中的前10条语句后出现break语句,则直接跳出该for循环,转而执行整个循环模块以外的后面的语句. 如果该循环模块包含在另一个大的循环模块中,则继续在大循环模块中执行循环. 因此,break语句会改变循环的次数.
4 try...catch语句
try…catch 语句用于异常和错误处理,当捕获到一个异常时则执行catch后的语句,最后以end结尾,其语法结构如下
try
statement
…
statement
catch meObj
statement
…
statement
end;
5 return 语句
return语句用于直接结束执行,继而返回函数值.
MATLAB程序控制语句的更多相关文章
- [zz]求一维序列的信息熵(香浓熵)的matlab程序实例
对于一个二维信号,比如灰度图像,灰度值的范围是0-255,因此只要根据像素灰度值(0-255)出现的概率,就可以计算出信息熵. 但是,对于一个一维信号,比如说心电信号,数据值的范围并不是确定的, ...
- 条件随机场matlab程序下载
19:44:23 1 http://www.cs.ubc.ca/~murphyk/Software/CRF/crf.html matlab程序包: 该条件随机场程序(CRF)是针对语句进行标注,mat ...
- 【matlab】MATLAB程序调试方法和过程
3.8 MATLAB程序的调试和优化 在MATLAB的程序调试过程中,不仅要求程序能够满足设计者的设计需求,而且还要求程序调试能够优化程序的性能,这样使得程序调试有时比程序设计更为复杂.MATLAB ...
- C/C++程序通过动态链接库调用MATLAB程序
C/C++程序通过动态链接库调用MATLAB程序 1 MATLAB编译器设置 需要设定对应的C++编译器才能编译.m文件生成可供C++调用的库文件. 在MATLAB命令行输入:mex –setup:然 ...
- 非均匀B样条拟合MATLAB程序
直接上代码,多的不再说了. %------------------非均匀B样条拟合MATLAB程序----------------- clear k=; x=load('data.txt'); [n, ...
- 蚁群算法 matlab程序(已执行)
下面是解放军信息project大学一个老师编的matlab程序,请尊重原作者劳动,引用时请注明出处. 我经过改动添加了凝视,已经执行过,无误, function [R_best,L_best,L_av ...
- 现代控制理论习题解答与Matlab程序示例
现代控制理论习题解答与Matlab程序示例 现代控制理论 第三版 课后习题参考解答: http://download.csdn.net/detail/zhangrelay/9544934 下面给出部分 ...
- MATLAB程序:用FCM分割脑图像
MATLAB程序:用FCM分割脑图像 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 脑图像基础知识请看:脑图像:FCM算法介绍请看:聚类——FCM:数据 ...
- GMM算法的matlab程序
GMM算法的matlab程序 在“GMM算法的matlab程序(初步)”这篇文章中已经用matlab程序对iris数据库进行简单的实现,下面的程序最终的目的是求准确度. 作者:凯鲁嘎吉 - 博客园 h ...
随机推荐
- 开放接口/RESTful/Api服务的设计和安全方案详解
一.总体思路 这个涉及到两个方面问题:一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证)一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字签名 ...
- js-事件以及window操作
属性 当以下情况发生时,出现此事件 onblur 元素失去焦点 onchange 用户改变域的内容 onclick 鼠标点击某个对象 ondblclick 鼠标双击某个对象 onfocus 元素获得焦 ...
- js分析 汽_车_之_家 js生成css伪元素 hs_kw44_configUS::before
0.参考 https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-elements https://developer.mozilla.org/ ...
- scrapy相关:splash安装 A javascript rendering service 渲染
0. splash: 美人鱼 溅,泼 1.参考 Splash使用初体验 docker在windows下的安装 https://blog.scrapinghub.com/2015/03/02/hand ...
- .net core2.x 自动注入 Entity(实体对象到上下文)
概要:有点老套,因为早在 .net frmework的时候(core还没出来),我们在使用 ef(4....6)的时候就已经这么用,这里我在搭建框架,所以随手写下,让后来人直接拿去用用. 1.使用前提 ...
- 如何手写Ajax实现异步刷新
所谓的异步刷新,就是不刷新整个网页进行更新数据. 只有通过js才能实现Ajax,进而实行异步刷新 表单提交数据和Ajax提交数据的区别:表单提交是提交的整个页面中的数据,提交数据之后会抛弃之前的页面( ...
- 从Github上将laravel项目拉到新开发环境
1.从github上将项目拉到本地 默认主分支:git clone https://github.com/my-user-name/my-project /home/vagrant/laravel/ ...
- Promise(interesting)
// 最主要的是理解setTimeout和(浏览器执行程序 || resolve执行位置)的顺序就能吃透了 //(MD 楞是看了我2个小时时间 真的是费脑洞︿( ̄︶ ̄)︿)X.then.then 以下 ...
- HttpSession与JSESSIONID的"盗用"
https://blog.csdn.net/qq1437715969/article/details/75331652
- 安装Visual C++ 6.0后报错:应用程序无法正常启动(0xc0000142)
最近在安装Visual C++ 6.0时,本来想用个中文版的,结果刚安装好就报了这个错误 百度后发现是由于汉化后的Visual C++ 6.0与win10不兼容造成的 解决办法就是替换程序,把中文版的 ...