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 ...
随机推荐
- Gradle: Download 下载慢的解决办法
应该是gradle被墙了,在网上查得:使用阿里云的国内镜像仓库地址,就可以快速的下载需要的文件: 修改项目根目录下的文件 build.gradle : buildscript { repositori ...
- matplotlib等高线图-【老鱼学matplotlib】
等高线图是在地理课中讲述山峰山谷时绘制的图形,在机器学习中也会被用在绘制梯度下降算法的图形中. 因为等高线的图有三个信息:x, y以及x,y所对应的高度值. 这个高度值的计算我们用一个函数来表述: # ...
- Linux history显示时间/用户/ip的设置
在使用linux服务器的时候发生一些不知道谁操作的问题,google一下说history命令可以查看到历史记录,用过之后发现还是不够详细,再google,原来可以自己设置history的显示. 记录设 ...
- 课堂小记---html
其他注意点: 行高line-hight的继承特性: 行高有三种属性值:数字(1.5).百分比(150%).长度值(1.5em或者30px).继承上这三者是有区别的. 当属性值为数字值,其子元素会继承行 ...
- BZOJ4827 [Hnoi2017]礼物 多项式 FFT
原文链接http://www.cnblogs.com/zhouzhendong/p/8823962.html 题目传送门 - BZOJ4827 题意 有两个长为$n$的序列$x$和$y$,序列$x,y ...
- Orleans框架简单示范
希望现在学习Orleans不会晚,毕竟Server Fabric都开源了.本篇博客从Sample的HelloWorld示例程序来解读Orleans的Grains. Server配置参考 : https ...
- 学习 Vim —— Vimtutor 总结笔记
Lesson 2 2.1-2.3 删除 [dw] 删除从光标开始处至下一词开始前的部分,光标停在下一词的词首. [de] 删除从光标开始处至词尾的部分. [d$] 删除从光标开始处至行末的部分. 2. ...
- ajax登录验证-js
1.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- 【洛谷】SAC E#1 Factorial
别人可以眼杀我却研究了一个小时看了题解才懂的数学题 输入: n, k 输出: n!在k进制下后缀0的个数 n,k <= 10^12 将 n! 表示成 x×2y5z 的形式,其中 x mod 2 ...
- [LeetCode] N-ary Tree Preorder Traversal N叉树的前序遍历
Given an n-ary tree, return the preorder traversal of its nodes' values. For example, given a 3-ary ...