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循环,循环内支持用continuebreak语句跳出循环.

  (1) for 循环用于循环次数明确的情况下, 其中控制循环的索引变量用冒号隔开,整个循环语句以end结束. 在默认情况下,每执行一次循环则索引变量加1(也可以自定义索引变量的步长,让每执行一次循环使索引变量增加kk可为负数),当索引变量的值大于设定的结束值时结束循环.例如

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程序控制语句的更多相关文章

  1. [zz]求一维序列的信息熵(香浓熵)的matlab程序实例

    对于一个二维信号,比如灰度图像,灰度值的范围是0-255,因此只要根据像素灰度值(0-255)出现的概率,就可以计算出信息熵.    但是,对于一个一维信号,比如说心电信号,数据值的范围并不是确定的, ...

  2. 条件随机场matlab程序下载

    19:44:23 1 http://www.cs.ubc.ca/~murphyk/Software/CRF/crf.html matlab程序包: 该条件随机场程序(CRF)是针对语句进行标注,mat ...

  3. 【matlab】MATLAB程序调试方法和过程

    3.8  MATLAB程序的调试和优化 在MATLAB的程序调试过程中,不仅要求程序能够满足设计者的设计需求,而且还要求程序调试能够优化程序的性能,这样使得程序调试有时比程序设计更为复杂.MATLAB ...

  4. C/C++程序通过动态链接库调用MATLAB程序

    C/C++程序通过动态链接库调用MATLAB程序 1 MATLAB编译器设置 需要设定对应的C++编译器才能编译.m文件生成可供C++调用的库文件. 在MATLAB命令行输入:mex –setup:然 ...

  5. 非均匀B样条拟合MATLAB程序

    直接上代码,多的不再说了. %------------------非均匀B样条拟合MATLAB程序----------------- clear k=; x=load('data.txt'); [n, ...

  6. 蚁群算法 matlab程序(已执行)

    下面是解放军信息project大学一个老师编的matlab程序,请尊重原作者劳动,引用时请注明出处. 我经过改动添加了凝视,已经执行过,无误, function [R_best,L_best,L_av ...

  7. 现代控制理论习题解答与Matlab程序示例

    现代控制理论习题解答与Matlab程序示例 现代控制理论 第三版 课后习题参考解答: http://download.csdn.net/detail/zhangrelay/9544934 下面给出部分 ...

  8. MATLAB程序:用FCM分割脑图像

    MATLAB程序:用FCM分割脑图像 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 脑图像基础知识请看:脑图像:FCM算法介绍请看:聚类——FCM:数据 ...

  9. GMM算法的matlab程序

    GMM算法的matlab程序 在“GMM算法的matlab程序(初步)”这篇文章中已经用matlab程序对iris数据库进行简单的实现,下面的程序最终的目的是求准确度. 作者:凯鲁嘎吉 - 博客园 h ...

随机推荐

  1. 剑指offer字符串列表

    字符串 面试题5:替换空格 面试题20:表示数值的字符串 面试题58:翻转字符串 面试题58(二):左旋转字符串

  2. 华为交换机批量加入 Vlan 方法

    华为交换机单独加入vlan太麻烦,思科有批量加入vlan的方法,华为也有.要求 1~6口划分到vlan2,6~12口划分到vlan3,13~18口划分到vlan4,19~24口划分到vlan5.25, ...

  3. 如何解决 kubernetes 重启后,启来不来的问题

    参考了 https://blog.csdn.net/nklinsirui/article/details/80855415 最近在调研 kubeneter ,准备把线上的服务器架构再调整下,然后模拟各 ...

  4. 企业级中带你ELK如何实时收集分析Mysql慢查询日志

    什么是Mysql慢查询日志? 当SQL语句执行时间超过设定的阈值时,便于记录到指定的日志文件中或者表中,所有记录称之为慢查询日志 为什么要收集Mysql慢查询日志? 数据库在运行期间,可能会存在这很多 ...

  5. 咸鱼入门到放弃3--tomcat

    Tomcat学习与使用 一. Tomcat安装及配置 二.项目部署(虚拟目录映射) Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射. 虚 ...

  6. mac php7.0~7.2 memcache安装

    参考 https://www.uedbox.com/post/8924/ https://blog.csdn.net/bjbs_270/article/details/45642905 1. zlib ...

  7. 英语口语练习系列-C36-城市-谈论活动-登高

    词汇-城市 city your favorite city a place you would like to visit metropolis capital landscape enchantin ...

  8. Python3的桌面程序开发利器:Eric6的环境搭建、使用

    本文旨在通过一个简单的demo,介绍基于Python3.PyQT5的环境下开发桌面应用程序的一种方案,当然开发Python的桌面应用程序不止是PyQT 这一种方案,还可以使用Python自带的Tkin ...

  9. opencv coudn't find video stream from "XXX(文件名)"

    opencv coudn't find video stream from "XXX(文件名)" 我用的是clion 解决方法: 把路径设为完整路径,如"C:/XXX&q ...

  10. css 绘制三角形

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...