extracting non-zero elements in a matrix or an array

68 Ansichten (letzte 30 Tage)
Bahareh
Bahareh am 18 Apr. 2011
Hello, I have two questions. I would be so glad if you can please help me.
1. How can I extract the number of non-zero elements in a matrix or in an array?
2. I have 3x3 (3d) array which is a cell. How can I add the diagonal elements or off-diagonal elements in a cell?

Akzeptierte Antwort

Paulo Silva
Paulo Silva am 18 Apr. 2011
a=[1 0 2;3 4 5;0 7 8]
a(a~=0) %get all the non zero values
diag(a) %elements on the diagonal
s1=sum(diag(a)) %sum of the elements on the diagonal
sum(sum(a))-s1 %sum of non-diagonal elements
  3 Kommentare
Paulo Silva
Paulo Silva am 18 Apr. 2011
use the cellfun function or make a loop to apply the code to every cell element.
Bahareh
Bahareh am 18 Apr. 2011
Thanks.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by