How to multiply all elements of matrix

1 view (last 30 days)
Ram k
Ram k on 6 May 2016
Answered: Stephen23 on 6 May 2016
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
Azzi Abdelmalek on 6 May 2016
prod(nonzeros(A(:)))
  1 Comment
Guillaume
Guillaume on 6 May 2016
You don't even need the (:) since nonzeros will return a vector anyway:
prod(nonzeros(A))

Sign in to comment.


Stephen23
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!