在Octave中是否有可能在同一时间内形成两个循环,例如:
(for i=0:10 && j=10:20)
i;
j;
end发布于 2015-07-08 14:11:01
如果循环的长度相同,那么是的。不为人所知的是,对于非向量,一个for循环,在列上循环。所以,只要把你的向量放在一个矩阵中,每一个变量一行:
for r = [0:10; 10:20]
printf ("1st is %2i; 2nd is %2i\n", r(1), r(2));
endfor返回:
1st is 0; 2nd is 10
1st is 1; 2nd is 11
1st is 2; 2nd is 12
1st is 3; 2nd is 13
1st is 4; 2nd is 14
1st is 5; 2nd is 15
1st is 6; 2nd is 16
1st is 7; 2nd is 17
1st is 8; 2nd is 18
1st is 9; 2nd is 19
1st is 10; 2nd is 20发布于 2015-07-08 14:25:29
在Matlab中,您可以对两个大小相同的输入数组使用arrayfun:
>> arrayfun(@(x,y) x+y, 1:10, 10:10:100)
ans =
11 22 33 44 55 66 77 88 99 110发布于 2015-07-08 12:57:46
如果希望它们步进,那么使用一个计数器变量将它们作为数组引用:
j = 0:10;
i = 0:10;
for k = 1:11
i(k);
j(k);
end但是您很可能需要使嵌套的for循环:
for i = 0:10
for j = 0:10
i;
j;
end
endhttps://stackoverflow.com/questions/31292315
复制相似问题