How to use the prod function on non-zero elements?
5 views (last 30 days)
Show older comments
Zoltán Csáti
on 28 Mar 2014
Commented: Zoltán Csáti
on 28 Mar 2014
I have a matrix with zeros in its main diagonal. I would like to take the product of the elements in each row (excluding the 0) so as to get a column vector. How can I make it using a vectorized code? E.g.
A = [0 1 2; 2 0 4; 7 8 0];
I want to get:
[1*2; 2*4; 7*8]
Thank you.
0 Comments
Accepted Answer
Azzi Abdelmalek
on 28 Mar 2014
Edited: Azzi Abdelmalek
on 28 Mar 2014
A = [0 1 2; 2 0 4; 7 8 0];
B=A
B(~A)=1 % replace 0 elements by 1
out=prod(B,2)
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!