矩阵的非零元素的逆

时间:2016-11-16 13:32:20

标签: matlab

我想关注this example。在matlab中生成一个矩阵S我希望将非零值反转1./A,但是这将给我Inf 0个值,它们应该保持为0。

如何仅反转非零值?

2 个答案:

答案 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