我想关注this example。在matlab中生成一个矩阵S
我希望将非零值反转1./A
,但是这将给我Inf
0个值,它们应该保持为0。
如何仅反转非零值?
答案 0 :(得分:5)
B=1./A;
B(isinf(B))=0;
所有问题都消失了!
可选地
A(A==0)=Inf;
B=1./A;
答案 1 :(得分:1)
如果矩阵中有很多零,则可能需要使用sparse
矩阵:
A = sparse(A);
B = spfun(@(x) 1./x, A); % inverse only non-zeros