increment two values in a single for loop
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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
0 Kommentare
Antworten (3)
Star Strider
am 11 Aug. 2014
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
1 Kommentar
Image Analyst
am 11 Aug. 2014
or, without the if:
j = min(i, m-times);
Just an alternate way - I have no idea which is faster.
Iain
am 11 Aug. 2014
There is a cheeky way:
for h = 1:110
[i, j] = ind2sub([10,11],h)
...
end
0 Kommentare
sourav malla
am 26 Jun. 2019
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 Kommentar
Steven Lord
am 26 Jun. 2019
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
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!