《MATLAB/Simulink系统仿真超级学习手册》——2.4 MATLAB的程序流程控制

2.4 MATLAB的程序流程控制

MATLAB/Simulink系统仿真超级学习手册
作为一种程序设计语言,MATLAB同一般高级程序语言一样,为用户提供了丰富的程序结构语言来实现用户对程序流程的控制。

MATLAB的程序路程控制主要包括循环控制和条件选择控制。

2.4.1 循环控制结构
1.for循环结构

for循环结构的格式为

  for 循环变量=向量表达式
    循环体语句组
  end

该循环结构的执行方式为:从向量表达式的第一列开始,依次将向量表达式各列的值赋值给循环变量,然后执行循环体语句组中的命令,直到最后一列。

通常使用的for循环格式为

for i = s : h : e

即用冒号表达式进行等步长向量的创建。

注意:循环语句组必须是一组合法的MATALB命令;end不可省略。

在MATLAB命令窗口中输入下面语句并按回车键确认。

>> sum=0;
>> for i=1:1:50
sum=sum+i;
end
>> sum

运行结果如下:

sum =
      1275

注意:可将for i = 1:1:50写成for i = 1:50,因为系统默认步长为1,所以可以省略中间的“:1”。for循环语句可以实现多重循环,但for与end必须成对出现。

2.while循环结构
while循环结构的基本格式为

while关系表达式
    循环体语句组
  end

该循环结构的执行方式为:

(1)判断关系表达式是否为真,若为真,则执行(2),否则执行(3);

(2)执行循环体语句组中的命令,再返回至(1);

(3)执行end语句,即循环结束。

在MATLAB命令窗口中输入下面语句并按回车键确认。

>> sum=0;
>> i=1;
>> while i<=50
sum=sum+i;
i=i+1;
end
>> sum

运行结果如下:

sum =
     1275

计算结果与例2-13一致。

条件选择结构
1.if条件选择结构
条件选择结构中最基本的是if条件选择结构语句。if条件选择结构有3种基本格式:

(1) if 条件表达式

    ```javascript
条件语句组
    end

(2) if 条件表达式
```javascript
条件块语句组 1
    else
      条件块语句组 2
    end

(3) if 条件表达式 1

条件块语句组 1
    elseif 条件表达式 2
      条件块语句组 2
    …
    elseif条件表达式 n-1
      条件块语句组 n-1
    else
      条件块语句组 n
    end

注意:

(1)else子句不能单独使用,必须与if配对使用;

(2)if条件选择结构可以嵌套使用

【例2-15】学生成绩分类:90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E,要求输入一个分数输出其对应等级。

在MATLAB命令窗口中输入下面语句并按回车键确认。

>> grade=input('Please enter a grade:');
if grade>=90
  degree='A';
elseif (grade>=80)&&(grade<=89)
  degree='B';
elseif (grade>=70)&&(grade<=79)
  degree='C';
elseif (grade>=60)&&(grade<=69)
  degree='D';
else
  degree='E';
end
disp(['The degree is ',degree])

MATLAB命令窗口中显示Please enter a grade,要求输入成绩,输入76并按回车键确认,得到结果The degree is C,该成绩等级为C。

2.switch条件选择结构
switch条件选择结构用于多分支选择,其基本格式为:

switch(表达式)
    case 常量表达式1

语句组1

case 常量表达式2

语句组2

    case 常量表达式n

语句组n

otherwise:

语句组 n+1

end

【例2-16】学生成绩分类:90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E,要求输入一个等级输出其对应分数。

在MATLAB命令窗口中输入下面语句并按回车键确认。

>> degree=input('Enter a degree:');
switch degree
  case 'A'
    disp('The grade is 90-100.');
  case 'B'
    disp('The grade is 80-89.');
  case 'C'
    disp('The grade is 70-79.')
  case 'D'
    disp('The grade is 60-69.')
  case 'E'
    disp('The grade is 0-59.')
  otherwise
    disp('There is no this degree.')
end

注意:MATLAB中,switch条件选择结构只执行第一个匹配的case对应的语句组,故不需要break。

时间: 2024-12-02 07:57:46

《MATLAB/Simulink系统仿真超级学习手册》——2.4 MATLAB的程序流程控制的相关文章

《MATLAB/Simulink系统仿真超级学习手册》——2.7 MATLAB编程实例

2.7 MATLAB编程实例 MATLAB/Simulink系统仿真超级学习手册 MATLAB强大的运算功能和图形功能,是实现各领域的编程仿真的有力工具.本节将综合本章所讲的内容介绍MATLAB的一些编程实例,使读者对MATLAB语言的应用有一些基本的了解. 2.7.1 汉诺塔问题 Hanoi(汉诺)塔问题,是一个古典的数学问题,是一个用递归方法解题的典型例子.问题是这样的:古代有一个梵塔,塔内有3个座A.B.C,开始时A座上有n个盘子,盘子大小不等,大的在上,小的在下如图2-35所示. 现在,

《MATLAB/Simulink系统仿真超级学习手册》——1.2 MATLAB简介

1.2 MATLAB简介 MATLAB/Simulink系统仿真超级学习手册 MATLAB是MATRIX LABORATORY的简称,它是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分. 1.2.1 MATLAB发展史 20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB. 1.正式走向市场

《MATLAB/Simulink系统仿真超级学习手册》——2.3 MATLAB下矩阵的运算

2.3 MATLAB下矩阵的运算 MATLAB/Simulink系统仿真超级学习手册 矩阵运算是MATLAB最重要的运算,因为MATLAB的运算大部分都建立在矩阵运算的基础之上.MATLAB有三种矩阵运算类型:矩阵的代数运算.矩阵的关系运算和矩阵的逻辑运算.其中,矩阵的代数运算应用最广泛. 根据不同的应用目的,矩阵的代数运算又包含两种重要的运算形式:按矩阵整体进行运算,按矩阵单个元素进行运算的元素群运算. 2.3.1 矩阵的代数运算 1.矩阵的算术运算 矩阵算术运算的书写格式与普通算术运算相同,

《MATLAB/Simulink系统仿真超级学习手册》——第2章 MATLAB编程基础 2.1 MATLAB工作环境

第2章 MATLAB编程基础 本书使用的MATLAB版本为MATLAB R.本章将较全面地介绍MATLAB正常运行的基本流程以及编程基础与技巧,帮助读者在领略MATLAB非凡能力的同时比较轻松地跨过MATLAB门槛,为后面学习MATLAB工具箱Simulink打下坚实的基础. 2.1 MATLAB工作环境 MATLAB/Simulink系统仿真超级学习手册 MATLAB提供了全新的工作环境,了解并熟悉该环境是使用MATLAB的基础.下面将介绍MATLAB主界面(包括工具栏.命令窗口等).文本编辑

《MATLAB/Simulink系统仿真超级学习手册》——1.3 MATLAB/Simulink应用示例

1.3 MATLAB/Simulink应用示例 MATLAB/Simulink系统仿真超级学习手册 本节将介绍几个例子来展示MATLAB/Simulink在系统仿真中的应用,希望读者通过这些例子对MATLB/Simulink有一个初步的认识. [例1-1]微分方程求解.一个非线性刚体系统可用如下方程进行描述: 试求出在初始条件y 1(0)=0.y 2(0)=1.y 3(0)=1下系统的解. 编写如下MATLAB程序: function ep1_1 options = odeset('RelTol

《MATLAB/Simulink系统仿真超级学习手册》——2.5 文件的编写

2.5 文件的编写 MATLAB/Simulink系统仿真超级学习手册 M文件可分为脚本M文件(简称脚本文件)和函数M文件(简称函数文件)两大类,其特点和适用领域均不同. 2.5.1 脚本文件 脚本文件是由MATLAB语句构成的文本文件,以.m为扩展名.运行命令文件的效果等价于从MATLAB命令窗口中按顺序逐条输入并运行文件中的指令,类似于DOS下的批处理文件. 脚本文件运行过程所产生的变量保留在MATLAB的工作空间中,脚本文件也可以访问MATLAB当前工作空间的变量,其他脚本文件和函数可以共

《MATLAB/Simulink系统仿真超级学习手册》——2.8 本章小结

2.8 本章小结 MATLAB/Simulink系统仿真超级学习手册 本章主要介绍了MATLAB的编程基础,为后面学习Simulink做准备.首先是MATLAB的工作环境,通过对MATLAB主界面.文本编辑器以及帮助文档的介绍,读者可以了解今后是在怎样一个平台上进行编程.仿真工作. 其次,MATLAB语言也是需要读者掌握的,如MATLAB的矩阵.程序流程控制等,都是十分重要的.MATLAB是矩阵实验室的意思,所以矩阵的运算在MATLAB语言中有着举足轻重的地位.M文件是读者施展编程才能的地方.利

《MATLAB/Simulink系统仿真超级学习手册》——2.2 MATLAB语言基本元素

2.2 MATLAB语言基本元素 MATLAB/Simulink系统仿真超级学习手册 MATLAB语言提供了丰富的数据类型,如实数.复数.向量.矩阵.字符串.多维数组.结构体.类和对象等,还提供了丰富的内置功能函数.这些功能使得MATLAB的编程功能非常强大.本节介绍变量和矩阵这两种最基本且常用的数据类型以及赋值语句的基本形式. 2.2.1 变量 变量是保存数据信息的一种最基本的数据类型.变量的命名应遵循如下规则: (1)变量名必须以字母开头: (2)变量名可以由字母.数字和下划线混合组成: (

《MATLAB/Simulink系统仿真超级学习手册》——2.6 MATLAB的图形绘制

2.6 MATLAB的图形绘制 MATLAB/Simulink系统仿真超级学习手册MATLAB除了强大的数值分析功能外,还具有方便的绘图功能.利用MATLAB丰富的二维.三维图形函数和多种修饰方法,只要指定绘图方式并提供绘图数据,就可以绘制出理想的图形.由于MATLAB的图形系统是建立在诸如线.面等图形对象的集合基础之上,因此用户可以对任何一个图形元素进行单独的修改,而不影响图形的其他部分. 2.6.1 二维图形的绘制1.基本绘图命名MATLAB中最常用的绘图函数为plot(),它是用于绘制二维