[英]complex matlab for loop with matrix
我不了解matlab中for
循环的这段代码,我知道matlab中的循环通常看起来像: for ii=1:2:100
所以它从1开始直到100,在每次迭代中加2。但是在这里,我在循环中遇到了这种情况,但我不了解它的作用:
for ii=[1:w:rd(1)-w-border, rd(1)-w-border+1],
...
end;
w
和border
是作为参数传递的整数, rd
是图像/矩阵的rd = size(image);
)
有人可以解释我在这种情况下for循环如何在matlab中工作吗? 提前致谢。
for
参数是一个向量。 循环迭代器ii
在循环的每次迭代中为向量取一个值。 正如您所提到的,向量可以像1:2:100
一样均匀间隔。 但是它也可以是任意的,例如for ii = [4,6,1,8] ...
在这种情况下, for
参数向量是部分“等距”向量: 1:w:rd(1)-w-border
加上另一个元素rd(1)-border+1
。
matlab中的For
循环可以为一组定义的索引值执行语句:例如,以下代码将显示集合[1,5,8,17]
中的所有元素:
for s = [1,5,8,17]
disp(s)
end
for ii=[1:w:rd(1)-w-border, rd(1)-w-border+1]
的代码与此类似。 就像集合1:w:rd(1)-w-border
以及附加元素rd(1)-w-border+1
。
就像将这组[1,2,3,4,5,8]
写成[1:1:5, 8]
[1,2,3,4,5,8]
一样[1:1:5, 8]
我希望现在可以清楚了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.