How to vectorize the following code snippet ?

M = randi([-10 10],10,10);
[m, n] = size(M);
out = zeros(m, n);
for x = 1:m
for y = 1:n
if M(x, y) > 0
out(x, y) = 1;
else if M(x, y) == 0
out(x, y) = 0;
else
out(x, y)=-1;
end
end
end

 Accepted Answer

That can all be reduced to:
out = zeros(size(M))-1;
out(M>0) = 1;
out(M==0) = 0;
producing the same result.

More Answers (0)

Categories

Products

Release

R2020b

Asked:

on 15 Feb 2021

Answered:

on 15 Feb 2021

Community Treasure Hunt

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

Start Hunting!