How do I Vectorize the for loop containing if else ?

for j=1:n
for i=1:m
if xH(i,j)>0
X1(i,j)=xH(i,j);
X2(i,j)=xH(i,j);
end
end
end
for j=1:n
COUNTcol=0;
for i=1:m
if X1(i,j)>0
COUNTcol=COUNTcol+1;
end
end

 Accepted Answer

X1 = zeros(size(xH));
X2 = zeros(size(xH));
idx = xH > 0;
X1(idx) = xH(idx);
X2(idx) = xH(idx);
COUNTcol = sum(X1 > 0, 1);

2 Comments

Thank you so much.
Voss
Voss on 28 Dec 2022
Edited: Voss on 29 Dec 2022
You're welcome!

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Asked:

on 27 Dec 2022

Edited:

on 29 Dec 2022

Community Treasure Hunt

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

Start Hunting!