Matrix addition only to elements equal to zero
3 次查看(过去 30 天)
显示 更早的评论
Hi!
I would like to perform a matrix addition, i.e C=A+B.
However, I want this addition to be performed only for the elements in matrix B that is zero, for all non-zero elements of matrix B the addition should not be performed.
Obviously, this could be done - certainly not beautifully - with an if statement in a loop over all the elements in matrix B. However, I wonder if there is a more neat and faster solution to do this? Especially because my matrices are of size (256,256,329) which makes this solution quite slow.
And for clarity, here is my proposed but unsatisfactory solution:
for i=1:numel(reg_nolower)
if reg_nolower(i) == 0
reg_nolower(i)=reg_nolower(i)+reg_leftarm(i)+reg_rightarm(i);
else
end
end
Thanks in advance!
2 个评论
Bruno Luong
2023-11-20
Your code doesn't not reflect your description : your test is on reg_nolower which is the resultant not the reg_leftarm or reg_rightarm, and which is A, B and C in that ?
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!