How to multiply all elements of matrix
Afficher commentaires plus anciens
Suppose I have a matrix
0 0.3333 0 0 0.6667
0 0 1.0000 0 0
0 0 0 0 1.0000
1.0000 0 0 0 0
0.4000 0 0 0.2000 0.4000
I want to multiply nonzero elements of above matrix i.e. 0.3333*0.6667*1*1*1*0.4*0.2*0.4=0.00711. How to do this.
Réponses (2)
Azzi Abdelmalek
le 6 Mai 2016
prod(nonzeros(A(:)))
1 commentaire
Guillaume
le 6 Mai 2016
You don't even need the (:) since nonzeros will return a vector anyway:
prod(nonzeros(A))
Stephen23
le 6 Mai 2016
prod(A(A~=0))
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!