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

    xiaoxiao2023-08-18  150

    本节书摘来自异步社区《MATLAB/Simulink系统仿真超级学习手册》一书中的第2章,第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 条件表达式

    条件块语句组 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';enddisp(['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 Simulink系统仿真超级学习手册 [石良臣] 2014年版
    最新回复(0)