increment two values in a single for loop

11 次查看(过去 30 天)
I was just wondering if there was a way to increment two variables simultaneously in a single for loop?
for example i want to increment
i = 1:1:n-times
but at the same time
j=1:1:m-times
in a single for loop

回答(3 个)

Star Strider
Star Strider 2014-8-11
This works:
times = 2;
m = 10;
n = 15;
j = 0
for i = 1:1:n-times
if j < m-times
j = j + 1;
end
% ... etc...
end
i % Display results
j

Iain
Iain 2014-8-11
There is a cheeky way:
for h = 1:110
[i, j] = ind2sub([10,11],h)
...
end

sourav  malla
sourav malla 2019-6-26
You can also do like this:-
for i=1:n,j=1:m
%do something;
end
It will execute the stuff in (n*m) format.
  1 个评论
Steven Lord
Steven Lord 2019-6-26
At each iteration of the one for loop in that code, the variable j will be assigned the vector 1:m.
If you have two arrays of data:
variable1 = magic(5);
variable2 = gallery('moler', 5);
you could iterate over both with one loop if you assume or check that they have the same number of elements.
for whichElement = 1:numel(variable1)
V1 = variable1(whichElement);
V2 = variable2(whichElement);
% Do something with V1 and V2
fprintf('Element %2d of each matrix is %2d, %2d.\n', ...
whichElement, V1, V2);
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by