extracting non-zero elements in a matrix or an array
68 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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?
0 Kommentare
Akzeptierte Antwort
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
am 18 Apr. 2011
use the cellfun function or make a loop to apply the code to every cell element.
Weitere Antworten (0)
Siehe auch
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!