2016-11-16 31 views
0

私はthis exampleに従います。私は1./Aことによって、非ゼロ値を逆にしたいが、それは私が唯一の非ゼロ値を反転しない0行列の非ゼロ要素の逆数

どのように滞在することになっている0の値のInfを与えるMATLABで行列Sを生成Aftes?

+4

を== Inf)= 0'? – GameOfThrows

答えて

5
B=1./A; 
B(isinf(B))=0; 

すべての問題が解決しました。

また

A(A==0)=Inf; 
B=1./A; 
1

あなたの行列に多くのゼロを持っている場合、あなたはsparse行列を使用する場合があります `1/A`は` ANS(ANSその行を追加した後

A = sparse(A); 
B = spfun(@(x) 1./x, A); % inverse only non-zeros 
+2

私は多くのゼロを持っていませんが、これは非常に良いヒントですので、私はあなたに+1を与えました。 – havakok

関連する問題