gpt4 book ai didi

matlab - 多循环变量 Matlab

转载 作者:行者123 更新时间:2023-12-02 06:01:08 24 4
gpt4 key购买 nike

C++/C 中,我们在单个循环中有多个循环变量,例如 for(int i=0; int j=0; i<5; j<5; i++; j++) Matlab 中是否有用于多变量循环的工具?而且,我非常注意循环迭代计算,所以它会影响速度,因为我在 Matlab 中已经有一个嵌套循环。

最佳答案

MATLAB 有点支持多个循环变量,因为它支持矩阵作为循环表达式。这是如何运作的? 矩阵的各个列在每次迭代开始时分配给循环变量。

示例代码:

V = [1:1:5; 2:2:10]
for iv = V,
fprintf('iv = [%d %d];\n',iv);
end

输出:

V =
1 2 3 4 5
2 4 6 8 10

iv = [1 2];
iv = [2 4];
iv = [3 6];
iv = [4 8];
iv = [5 10];

我们在这里实现了两个循环变量,iv(1)iv(2),它们由用作循环表达式的矩阵的行指定.请注意,数组可以是任何类型(例如字符串、单元格、结构等)。

总结

预先定义循环变量的每次迭代,并将它们存储为矩阵的行。 在循环内部,循环变量将包含矩阵的一列


旁注

我猜这个约定是 colon operator 的结果通过水平 连接而不是垂直连接生成数组。只需考虑以下情况会发生什么:

for ii = (1:3).', numel(ii), end

您可能期望三次迭代,每次指示 numel(ii)=1,但您只会得到 一次迭代 并且循环报告:

ans =
3

如果您期望 ii 是一个标量,那么问题就很明显了。


术语

for loop_variable = loop_expression, statement, ..., statement end

关于matlab - 多循环变量 Matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23299617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com