How to multiply all elements of matrix
Show older comments
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.
Answers (2)
Azzi Abdelmalek
on 6 May 2016
prod(nonzeros(A(:)))
1 Comment
Guillaume
on 6 May 2016
You don't even need the (:) since nonzeros will return a vector anyway:
prod(nonzeros(A))
Stephen23
on 6 May 2016
prod(A(A~=0))
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!