Clear Filters
Clear Filters

For loop iteration issue

1 view (last 30 days)
Bahaa Soliman
Bahaa Soliman on 20 Mar 2021
Commented: Bahaa Soliman on 20 Mar 2021
I have a binary thresholded Image that I want to loop through its matrix using a for loop.
In python, I would write the code like this:
for i in binaryImage:
...
(you get the point!)
How do I loop through the binaryImage matrix I have in MATLAB for further operations?

Answers (1)

Steven Lord
Steven Lord on 20 Mar 2021
Edited: Steven Lord on 20 Mar 2021
Loop through elements?
A = magic(4);
s = 0;
for elt = 1:numel(A)
s = s + A(elt);
end
fprintf("The sum of elements in a 4-by-4 magic sum is %d.", s)
The sum of elements in a 4-by-4 magic sum is 136.
Through columns?
cs = zeros(4, 1);
for col = 1:width(A)
cs = cs + A(:, col);
end
fprintf("The sum of the columns is")
The sum of the columns is
disp(cs)
34 34 34 34
or you can just use the array as the indices.
cs2 = zeros(4, 1);
for col = A
cs2 = cs2 + col;
end
fprintf("The sum of the columns is also")
The sum of the columns is also
disp(cs2)
34 34 34 34
Through rows?
rs = zeros(1, 4);
for row = 1:height(A)
rs = rs + A(row, :);
end
fprintf("The sum of the rows is")
The sum of the rows is
disp(rs)
34 34 34 34
Do you need to loop?
Depending on what you want to do, though, you may not need to loop.
fprintf("A has %d elements greater than 11", nnz(A > 11))
A has 5 elements greater than 11

Community Treasure Hunt

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

Start Hunting!