Hello, I am trying to vectorize the following simple code
if true
A=[-1;3;0;-4];
B=zeros(size(A));
for i=1:4
if A(i)<0
B(i)=-(A(i));
elseif A(i)==0
B(i)=1;
else
B(i)=A(i);
end
B=B(:);
end
end
Please, how do I write the above code in such a way that there is no for loop, and still it works?
2 Comments
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/375985-how-can-i-remove-for-loop-in-the-following-code-that-change-the-entries-of-a-given-vector#comment_522214
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/375985-how-can-i-remove-for-loop-in-the-following-code-that-change-the-entries-of-a-given-vector#comment_522214
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/375985-how-can-i-remove-for-loop-in-the-following-code-that-change-the-entries-of-a-given-vector#comment_522224
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/375985-how-can-i-remove-for-loop-in-the-following-code-that-change-the-entries-of-a-given-vector#comment_522224
Sign in to comment.