在MATLAB编程中,循环语句是不可或缺的一部分,它们允许我们重复执行一段代码,直到满足特定条件为止。这里我们将深入探讨两种主要的循环语句:`for`和`while`,以及与它们相关的`break`和`continue`语句。
1. `for`循环语句:
`for`循环通常用于迭代已知次数的情况。它的基本形式如下:
```matlab
for 循环变量=表达式1:表达式2:表达式3
循环体语句
end
```
其中,`表达式1`是初始值,`表达式2`是步长,`表达式3`是终止值。如果步长为1,可以省略`表达式2`。例如,寻找[100, 200]范围内第一个能被21整除的整数:
```matlab
for n = 100:200
if rem(n, 21) == 0
break
end
end
n
```
2. `while`循环语句:
当我们需要在满足某个条件时重复执行代码时,可以使用`while`循环。其结构为:
```matlab
while (条件)
循环体语句
end
```
比如,计算一个数的阶乘,可以写成:
```matlab
n = 5;
result = 1;
while n > 1
result = result * n;
n = n - 1;
end
```
3. `break`和`continue`语句:
这两个语句与循环控制有关。`break`语句用于立即退出当前循环,而`continue`语句则跳过当前循环剩余的部分,进入下一次循环。在上述寻找21的倍数的例子中,`break`语句用于找到第一个满足条件的数后停止循环。
4. 循环的嵌套:
多重循环允许我们在一个循环内嵌套另一个循环,实现更复杂的逻辑。例如,查找二维数组中的所有偶数对:
```matlab
for i = 1:5
for j = 1:5
if mod(i, 2) == 0 && mod(j, 2) == 0
disp([i, j]);
end
end
end
```
5. 函数文件:
MATLAB中的函数文件以`function`关键字开头,定义了输入和输出参数。基本结构如下:
```matlab
function [输出形参表] = 函数名(输入形参表)
```
函数调用时,实参和形参的个数和顺序必须一致。例如:
```matlab
function result = multiply(a, b)
result = a * b;
end
result = multiply(3, 4);
```
6. 函数参数的可调性:
`nargin`和`nargout`变量分别记录了函数调用时输入和输出参数的数量,可以在函数内部使用它们来处理不同数量的参数。
7. 全局变量与局部变量:
全局变量在整个MATLAB环境中可见,而局部变量只在其定义的函数内部有效。要声明全局变量,使用`global`关键字:
```matlab
global myGlobalVar
myGlobalVar = 10;
```
在函数内部使用全局变量时,同样需要先用`global`声明。
以上就是MATLAB中关于循环语句、循环控制和函数的基本知识,这些概念构成了MATLAB编程的基础。通过熟练掌握这些,你可以编写出处理各种复杂问题的高效代码。