-
MATLAB 循环
2026-06-14 10:36:39 避难所建设
上一节: MATLAB 流程控制
上一节
下一节: MATLAB 向量
下一节
MATLAB 循环
循环
循环在某些情况下,您需要多次执行一个代码块。通常,语句是按顺序执行的。首先执行函数中的第一条语句,然后执行第二条,依此类推。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式-
MATLAB提供了以下类型的循环来处理循环需求。
while 循环
while 循环重复执行条件为true的语句。
语法-
while
end
创建一个脚本文件并输入以下代码-
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
for 循环
语法-
for index = values
...
end
values 具有以下格式 −
initval:endval - 将索引变量从initval到endval递增1,并重复执行程序语句,直到index大于endval。
initval:step:endval - 每次迭代将索引值增加step的值,如果step为负,则将索引的值减小。
valArray - 在每次迭代时从数组valArray的后续列创建列向量索引。 例如,在第一次迭代中,index = valArray(:,1)。 该循环最多执行n次,其中n是valel的列数,由numel(valArray,1,:)给出。 输入valArray可以是任何MATLAB数据类型,包括字符串,单元格数组或结构。
创建一个脚本文件并输入以下代码-
for a = 10:20
fprintf('value of a: %d\n', 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-
for a = 1.0: -0.1: 0.0
disp(a)
end
尝试一下
运行文件时,它将产生以下结果-
1
0.90000
0.80000
0.70000
0.60000
0.50000
0.40000
0.30000
0.20000
0.10000
0
示例3-
for a = [24,18,17,23,28]
disp(a)
end
尝试一下
运行文件时,它将产生以下结果-
24
18
17
23
28
嵌套循环
MATLAB允许在另一个循环中使用一个循环。以下部分显示了一些示例来说明这一概念。
MATLAB中嵌套的for循环语句的语法如下-语法
for m = 1:j
for n = 1:k
; end
end
MATLAB中嵌套while循环语句的语法如下-语法
while
while
end
end
让我们使用嵌套的for循环显示从1到100的所有质数。创建一个脚本文件并键入以下代码-
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\n', 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 声明
break语句终止for或while循环的执行。在break语句之后出现的循环中的语句不会执行。在嵌套循环中,中断仅从发生中断的循环退出。控制在该循环结束后传递给该语句。
创建一个脚本文件并输入以下代码-
a = 10;
% while loop execution
while (a < 20 )
fprintf('value of a: %d\n', 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
continue 声明
continue语句用于将控制传递给for或while循环的下一个迭代。MATLAB中的continue语句的工作方式与break语句类似。但是,“continue”不是强制终止,而是强制执行循环的下一次迭代,从而跳过两者之间的任何代码。
创建一个脚本文件并输入以下代码-
a = 9;
%while loop execution
while a < 20
a = a + 1;
if a == 15
% skip the iteration
continue;
end
fprintf('value of a: %d\n', 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: 16
value of a: 17
value of a: 18
value of a: 19
value of a: 20
上一节: MATLAB 流程控制
上一节
下一节: MATLAB 向量
下一节
查看笔记 分享笔记
笔记内容:
称呼:
Email:
站点:
分享笔记 重置
分类导航
前端
Ajax 教程
Angular 教程
Aurelia 教程
Bootstrap 教程
ChartJS 教程
CSS 教程
ES6 教程
FontAwesome 教程
HTML 教程
HTML 字符集 教程
HTML 游戏 教程
JavaScript 教程
jQuery 教程
Less 教程
React 教程
Sass 教程
Stylus 教程
TypeScript 教程
Unity 教程
Vue.js 教程
WebAssembly 教程
XAML 教程
颜色 教程
服务端
C# 教程
C++ 教程
COBOL 教程
C语言 教程
Fortran 教程
Go 教程
Groovy 教程
Java 教程
JSP 教程
JVM 教程
Kotlin 教程
Lisp 教程
Lua 教程
Node.js 教程
Pascal 教程
Perl 教程
PHP 教程
Python 教程
Python 3 教程
Ruby 教程
Rust 教程
Scala 教程
Spring 教程
Spring Boot 教程
Spring Cloud 教程
VB.Net 教程
移动端
Android 教程
IOS 教程
Objective-C 教程
React Native 教程
Swift 教程
小程序 教程
数据库
Access 教程
DB2 教程
Mariadb 教程
Memcached 教程
MongoDB 教程
MySQL 教程
Neo4j 教程
PL/SQL 教程
PostgreSQL 教程
Redis 教程
SQL 教程
SQL Server 教程
SQLite 教程
T-SQL 教程
数据格式
Jackson 教程
JSON 教程
SVG 教程
XML 教程
开发工具
ActiveMQ 教程
Ant 教程
Apache HttpClient 教程
Apache POI PPT 教程
AWS 教程
Docker 教程
ElasticSearch 教程
ExpressJS 教程
GIT 教程
GitLab 教程
Google Maps 教程
Gradle 教程
Java NIO 教程
JavaFX 教程
JavaMail 教程
JDBC 教程
jMeter 教程
JPA 教程
jsoup 教程
Junit 教程
KoaJS 教程
Kubernetes 教程
Log4j 教程
Logstash 教程
Lucene 教程
Makefile 教程
Maven 教程
RESTful 教程
Sed 教程
SEO 教程
Servlet 教程
SLF4J 教程
Socket.IO 教程
Struts 教程
SVN 教程
TestNG 教程
UML 教程
UNIX / LINUX 教程
WebSocket 教程
WPF 教程
xStream 教程
区块链 教程
数据处理
Flink 教程
Flume 教程
Hadoop 教程
Hbase 教程
Hive 教程
Kafka 教程
Kibana 教程
MapReduce 教程
MATLAB 教程
MyBatis 教程
Pig 教程
R语言 教程
Solr 教程
Spark 教程
Storm 教程
Zookeeper 教程
大数据分析 教程
数据仓库 教程
数据挖掘 教程
计算机基础
HTTP 教程
IPv4 教程
IPv6 教程
Ubantu 教程
WebServices 教程
嵌入式系统 教程
操作系统 教程
数据结构和算法 教程
汇编语言 教程
物联网 教程
电子电路基础 教程
编译器设计 教程
网站开发 教程
计算机 教程
计算机基础 教程
计算机网络 教程
设计模式 教程
AI
CNTK 教程
Keras 教程
PyTorch 教程
TensorFlow 教程
人工智能 教程
机器学习 教程
Python 技术
Django 教程
Flask 教程
NumPy 教程
Pandas 教程
Pillow 教程
PyGTK 教程
PyQt5 教程
PySpark 教程
pytest 教程
Python -数据科学 教程
Python MySQL 教程
Python 取证 教程
Python 数据结构 教程
Python 文本处理 教程
Python 网络编程 教程
Python 网页抓取 教程
Python 设计模式 教程
RxPY 教程
SciPy 教程
Seaborn 教程
SymPy 教程
wxPython 教程
框架
Laravel 教程
Web 图标Icon 教程
Web2py 教程
WebGL 教程
WebRTC 教程
WordPress 教程
Yii 教程
Zend Framework 教程
SAP
Crystal Reports 教程