MATLAB学习第五天(循环类型)

简介: MATLAB学习第五天(循环类型)

目录

MATLAB循环类型

MATLAB循环控制语句

MATLAB while循环

MATLAB while循环语法

详细例子

MATLAB for循环

MATLAB for 循环语法:

详细例子如下:

例子 1

例子 2

例子3

MATLAB嵌套循环

MATLAB嵌套循环语法

详细例子

MATLAB break语句

MATLAB break语句流程图

详细例子

MATLAB continue语句

MATLAB continue 语句流程图

详细例子



MATLAB循环类型


MATLAB循环语句允许我们多次执行一个语句或语句组。


在一般的情况下,程序中的语句都是按照顺序执行的,先从函数中的第一条语句开始执行,然后执行第二条并且依次类推。但是也会存在一种情况:需要多次执行代码块,怎么办?

其实编程语言都提供了各种控制结构,允许更复杂的执行路径。

下图是在大多数编程语言中的循环语句的一般形式:


81993e2e855366fe20ef3f18cd4a5f2d_e121f2832db1660902b99a7292d9af63.png

MATLAB 提供以下类型的循环处理循环的要求。

循环类型 描述
while循环 一个给定的条件为真时重复语句或语句组。测试条件才执行循环体。
for循环 执行的语句序列多次缩写管理循环变量的代码。
nested循环 可以使用一个或多个环路内任何另一个循环。


MATLAB循环控制语句


循环控制语句可以更改正常的执行顺序,当执行留下了范围,在该范围内所有自动创建的对象被销毁。

MATLAB支持以下控制语句。

控制语句 描述
break语句 终止循环语句,将执行的语句紧随循环。
continue语句 导致循环,跳过它的身体的其余部分,并立即重新再次测试前的状况。


MATLAB while循环


MATLAB的 while 循环会重复执行 while end 语句间的运算式,只要表达式为 true


MATLAB while循环语法


在MATLAB 中 while循环的语法如下:

while <expression>
   <statements>
end

while 循环反复执行程序语句只要表达式为 true。

当结果不为空,并包含所有非零元素(逻辑或实际数字),表达式为 true ;否则,表达式为 false。


详细例子


在MATLAB中建立一个脚本文件,并输入以下代码:

a = 10;
% while loop execution 
while( a < 20 )
  fprintf('value of a: %d\n', a);
  a = a + 1;
end

运行该文件,显示结果如下:

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19


MATLAB for循环


MATLAB中 for 循环是一个重复的控制结构,可以有效地写一个循环,只是执行的次数是特定的。


MATLAB for 循环语法:


MATLAB中的 for循环的语法如下:

for index = values
  <program statements>
          ...
end


for 循环的值有下述三种形式之一:

格式 描述
initval:endval 将索引变量从初始到终值递增1,并重复执行程序语句,直到索引值大于终值。
initval:step:endval 按每次迭代中的值步骤递增索引, 或在步骤为负值时递减。
valArray

在每个迭代 valArrayon 数组的后续列中创建列向量索引。例如, 在第一次迭代中, index = valArray (:, 1),循环执行最大 n 次, 其中 n 是 valArray 的列数,由 numel (valArray, 1,:) 给出。输入 valArray 可以是任何 MATLAB 数据类型, 包括字符串、单元格数组或结构。


详细例子如下:


例子 1


在MATLAB中建立一个脚本文件,并输入下述代码:

for a = 10:20 
  fprintf('value of a: %d
', a);
end


运行文件,显示下述结果:

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
value of a: 20


例子 2

在MATLAB中建立一个脚本文件,并输入下述代码:

for a = 1.0: -0.1: 0.0
   disp(a)
end


运行该文件,显示以下结果:

1
    0.9000
    0.8000
    0.7000
    0.6000
    0.5000
    0.4000
    0.3000
    0.2000
    0.1000
     0


例子3


在MATLAB中建立一个脚本文件,并输入下述代码:

for a = [24,18,17,23,28]
   disp(a)
end


运行该文件,显示下述结果:

    24
    18
    17
    23
    28


MATLAB嵌套循环


MATLAB嵌套循环允许使用一个循环的另一循环内。


MATLAB嵌套循环语法


在 MATLAB 中嵌套 for 循环语句的语法如下:

for m = 1:j
    for n = 1:k
        <statements>;
    end
end


在 MATLAB 中嵌套 while 循环语句的语法如下:

while <expression1>
   while <expression2>
       <statements>
   end
end


详细例子


我们将使用一个嵌套循环来把所有从1到100的素数显示出来。

现在MATLAB中建立一个脚本文件,并输入下述代码:

for i=2:100
       for j=2:100
        if(~mod(i,j)) 
            break; % if factor found, not prime
        end 
      end
      if(j > (i/j))
          fprintf('%d is prime
', i);
      end
end


然后运行该文件,显示如下结果:

2 is prime
3 is prime
5 is prime
7 is prime
11 is prime
13 is prime
17 is prime
19 is prime
23 is prime
29 is prime
31 is prime
37 is prime
41 is prime
43 is prime
47 is prime
53 is prime
59 is prime
61 is prime
67 is prime
71 is prime
73 is prime
79 is prime
83 is prime
89 is prime
97 is prime


MATLAB break语句


MATLAB中 break 语句用于终止 for 或 while 循环的执行,当在循环体内执行到该语句的时候,程序将会跳出循环,继续执行循环语句的下一语句。


注意:在嵌套循环中,break 退出只能在循环发生,后通过的声明控制循环结束。


MATLAB break语句流程图


1b096c45be90878ef62b15ed1de7caa2_ff4ec9fd0e49e9026b86e08c23ba1823.png

详细例子


在MATLAB中建立一个脚本文件,并输入下面的代码:

a = 10;
% while loop execution 
 while (a < 20 )
      fprintf('value of a: %d
', a);
      a = a+1;
      if( a > 15)
         % terminate the loop using break statement 
          break;
      end 
  end

运行该文件,显示下述结果:

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15


MATLAB continue语句


MATLAB中 continue 语句控制跳过循环体的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所剩下的语句,继续下一次循环。


MATLAB中的 continue 语句跟 break 语句有点像,但 break 是强制终止,continue 强制下一次迭代的循环发生,跳跃中的任何代码之间。


MATLAB continue 语句流程图:


38ca6ea2e8e6ee8756b37943f27c4c66_335cb69376ae17b3155b2bf6abeaf35c.png


详细例子


在MATLAB中建立一个脚本文件,并输入下述代码:

a = 10;
%while loop execution 
while a < 20
  if a == 15
      % skip the iteration 
      a = a + 1;
      continue;
  end
  fprintf('value of a: %d
', a);
  a = a + 1;     
end


运行该文件,显示下述结果:

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19

目录
相关文章
|
3月前
|
机器学习/深度学习 算法 数据挖掘
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
118 0
|
2月前
|
机器学习/深度学习 运维 算法
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
141 1
|
2月前
|
机器学习/深度学习 算法 数据可视化
【一共21份资源】【入门学习】【打包带走】时序+回归+预测入门学习(Matlab代码实现)
【一共21份资源】【入门学习】【打包带走】时序+回归+预测入门学习(Matlab代码实现)
|
3月前
|
数据采集 机器学习/深度学习 存储
关于在核特征空间中学习POD基础下Koopman算子的稀疏表示(Matlab代码实现)
关于在核特征空间中学习POD基础下Koopman算子的稀疏表示(Matlab代码实现)
|
3月前
|
机器学习/深度学习 传感器 边缘计算
Koopman-MPC: 基于数据驱动的学习和控制四旋翼无人机研究(Matlab代码实现)
Koopman-MPC: 基于数据驱动的学习和控制四旋翼无人机研究(Matlab代码实现)
113 0
|
3月前
|
机器学习/深度学习 编解码 算法
对三种雷达信号调制类型的识别及MATLAB实现
对三种雷达信号调制类型的识别及MATLAB实现
|
8月前
|
机器学习/深度学习 数据采集 算法
基于MobileNet深度学习网络的MQAM调制类型识别matlab仿真
本项目基于Matlab2022a实现MQAM调制类型识别,使用MobileNet深度学习网络。完整程序运行效果无水印,核心代码含详细中文注释和操作视频。MQAM调制在无线通信中至关重要,MobileNet以其轻量化、高效性适合资源受限环境。通过数据预处理、网络训练与优化,确保高识别准确率并降低计算复杂度,为频谱监测、信号解调等提供支持。
|
9月前
|
数据可视化 数据挖掘 BI
MATLAB学习之旅:数据统计与分析
在MATLAB中,我们掌握了数据导入、处理及插值拟合等基础技能。接下来,我们将深入数据统计与分析领域,学习描述性统计量(如均值、标准差)、数据分布分析(如直方图、正态概率图)、数据排序与排名、数据匹配查找以及数据可视化(如箱线图、散点图)。这些工具帮助我们挖掘数据中的有价值信息,揭示数据的奥秘,为后续数据分析打下坚实基础。
|
9月前
|
数据建模 数据处理
MATLAB学习之旅:数据建模与仿真应用
在MATLAB的学习中,我们已掌握基础操作、数据处理与统计分析。接下来将进入数据建模与仿真应用阶段,学习如何构建和验证现实世界的模型。我们将从定义模型结构和参数入手,涵盖线性回归、动态系统建模等内容,并通过仿真和实际数据对比评估模型的准确性和可靠性。最终,这些技能将帮助我们在科学研究和工程应用中解决复杂问题。

热门文章

最新文章

下一篇
开通oss服务