📜  MATLAB for循环(1)

📅  最后修改于: 2023-12-03 15:17:33.921000             🧑  作者: Mango

MATLAB for循环

MATLAB中,for循环是一种常用的迭代方式。它可以让程序员轻松地重复执行一些代码块,达到一定的目的。在本文中,我们将介绍MATLAB中使用for循环的基本语法,以及如何使用它来解决常见问题。

基本语法

for循环的基本语法如下:

for iterator = values
    % code block to be executed
end

其中,iterator是循环计数器,values是循环需要迭代的序列,可以是一个向量、矩阵、单元数组等等。循环的每个迭代,iterator都会从values中取出一个元素并进行计算。

for循环体内,你可以编写你需要重复执行的代码。例如,下面的代码使用for循环计算1~5的平方,并打印结果:

for i = 1:5
    squared = i^2;
    disp(squared);
end

这段代码首先定义了一个迭代器i,然后循环迭代1~5的值。在每次循环内,它计算了i的平方并将结果存储在squared变量中,并用disp()函数将结果打印到屏幕上。

控制循环流程

在很多情况下,程序员需要对循环流程进行控制。例如,如果某个条件满足,就跳过当前迭代;如果满足另一个条件,则结束循环。MATLAB中,你可以使用以下关键字来控制for循环的流程:

break

break关键字可以用于跳出循环。当break语句被执行时,循环会立即终止,并跳转到循环体之外的下一条语句。例如:

for i = 1:5
    if i == 3
        break;
    end
    disp(i);
end

这段代码会循环迭代1~5的值,并打印出1和2。当i等于3时,break语句被执行,循环被终止。

continue

continue关键字可以用于跳过当前迭代并继续执行下一次迭代。例如:

for i = 1:5
    if i == 3
        continue;
    end
    disp(i);
end

这段代码会循环迭代1~5的值,并打印出1、2、4和5。当i等于3时,continue语句被执行,当前迭代被跳过,但是循环依然会继续执行。

return

return关键字可以用于结束整个函数。例如:

function myfunction()
    for i = 1:5
        if i == 3
            return;
        end
        disp(i);
    end
    disp('This line will not be executed');
end

这是一个自定义函数,其中包含一个for循环。当i等于3时,return语句被执行,函数被终止,即使它还没有执行完整个for循环体。

循环练习

为了帮助你巩固对for循环的理解,这里有一些循环练习,供你尝试解决:

练习1

使用for循环计算1~100中所有奇数的和。

sum_ = 0;
for i = 1:100
    if mod(i, 2) == 1
        sum_ = sum_ + i;
    end
end
disp(sum_);
练习2

使用嵌套的for循环打印出下面的图形:

*
**
***
****
*****
for i = 1:5
    for j = 1:i
        fprintf('*');
    end
    fprintf('\n');
end
练习3

使用for循环和条件语句将一个长度为N的向量按升序排序。你可以使用MATLAB自带的sort()函数来验证你的解答是否正确。

x = [3, 2, 1, 5, 4];
N = length(x);
for i = 1:N
    for j = i+1:N
        if x(j) < x(i)
            temp = x(i);
            x(i) = x(j);
            x(j) = temp;
        end
    end
end
disp(x);
assert(all(sort(x) == x), 'Sort Failed');

以上是三个循环练习的解答,你可以运行它们并观察输出结果。如果你有更好的解法,欢迎在评论区分享你的代码。