Matlab 如何快速查找0元素

有一个很大的矩阵,A,现在想查找A中的0元素,因为比较多,所以自己写的代码很费时间:
for i =1:1:size(A,1)
for j = 1:1:size(A,2)
if A(i,j) == 0

B(i,i*x+j) = X;

else
B(i,j) = X;

end
end
end
当A是10^3的矩阵时,很快就能得到结果,但是一增加A到10^4就会特别慢,还请指导

用逻辑数组查找数值

H_zero = A==0;

B = X;

B(H_zero) = X;追问

这里X不是一个数值 是一个矩阵 要根据0或者1来判断取X中的哪一个值啊

if A(i,j) == 0

B(i,i*x+j) = X(j);

else
B(i,j) = X(j);
end
这样子的

温馨提示:答案为网友推荐,仅供参考
相似回答