zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )

流程控制MATLAB循环 for 分支 结构 if
2023-06-13 09:17:49 时间

文章目录

一、MATLAB 流程控制结构


MATLAB 流程控制结构 :

顺序结构 : 默认从上到下执行 ;

分支结构 :

  • if else end
  • switch case end

循环结构 :

  • for end
  • while end

二、for 循环


1、for 循环

for 循环语法 : 如果步长为

1

, 可以省略 ;

for 循环变量 = 初值 : 步长 : 终值 

    执行语句

end

for 循环示例 :

1^2 + 2^2 +3^2

的和 ;

这里设置一个

1

~

3

的循环 , 步长为

1

, 因此中间的步长参数 , 可以省略 ;

代码示例 :

%% for 循环

% for 循环 
% 定义结果存储的变量 , 注意要赋值一个初始值
sum = 0;

% 循环控制变量 i 
% 从 1 循环到 3 , 步长为 1 (可省略)
for i = 1:1:3
   
    % 循环体操作
    sum = sum + i^2;
    
% 循环结束标志
end

% 获取 sum 值
sum

执行结果 : 点击 " 运行 " 按钮 , 运行该脚本 , 在命令行窗口输出 sum 结果 ,

14

;

2、嵌套 for 循环

使用 for 循环 , 求

\rm \sum_{i = 1}^{5} i!

;

\rm \sum_{i = 1}^{5} i!

式子展开 :

\rm \sum_{i = 1}^{5} i! = 1! + 2! + 3! + 4! + 5!

阶乘运算 :

5! = 5 \times 4 \times 3 \times 2 \times 1

程序设计 : 外层循环循环

5

次 , 内层循环分别循环

1, 2, 3 , 4, 5

次 ;

代码示例 :

%% 嵌套 for 循环

% for 循环 
% 定义结果存储的变量 , 注意要赋值一个初始值
sum = 0;

for i = 1:1:5
    
    % 内层循环中求阶乘 
    sum_in = 1;
    
    % 求 i 的阶乘
    for j = 1:1:i
        sum_in = sum_in * j;
    end
    
    % 累加和
    sum = sum + sum_in;
    
end

% 最终阶乘累加结果
sum

执行结果 :

三、while 循环


while 循环语法 : 如果条件表达式成立 , 执行循环 , 如果不成立 , 跳出循环 ;

while 条件表达式 

	// 执行语句

end

while 循环示例 :

1 +2 + 3+ \cdots + 10

之和 ;

代码示例 :

%% while 循环

% 存放累加和的变量
sum = 0;
% 循环控制变量
i = 0;

while i < 11
    % 累加操作
    sum = sum + i;
    % 循环控制变量改变
    i = i + 1;
end

% 最终累加结果
sum

执行结果 :

二、分支结构


1、if end 分支结构

if end 分支结构语法 : 条件表达式成立 , 执行 " 执行语句 " , 不成立 , 直接跳出到 end ;

if 条件表达式
	// 执行语句
end

代码示例 :

%% if end 分支结构

score = 61

if score > 60
    '及格'
end

执行结果 :

2、if else end 分支结构

if else end 分支结构语法 : 如果 条件表达式 成立 , 执行 " 执行语句1 " , 否则执行 " 执行语句2 " ;

if 条件表达式
	// 执行语句 1 
else 
	// 执行语句 2
end

代码示例 :

%% if else end 分支结构

score = 61

if score > 60
    '及格'
else
    '不及格'
end

执行结果 :

3、switch case end 分支结构

switch case end 分支结构语法 : 通过表达式的值进行比较 , 通过不同的比较结果 , 实现分支功能 ; 如果所有语句都不满足 , 跳转到 otherwise 分支 , 如果没有定义 otherwise 分支 , 则直接跳出到 end ;

switch 表达式
	case 表达式1
		执行语句1
	case 表达式2
		执行语句2
	.
	.
	.
	otherwise
		执行语句n
end

代码示例 :

%% switch case end 分支结构

score = 100

switch score
    case 60
        '及格'
    case 100
        '满分'
    otherwise
        '其它分数'
end

执行结果 :