How to use the prod function on non-zero elements?

1 vue (au cours des 30 derniers jours)
Zoltán Csáti
Zoltán Csáti le 28 Mar 2014
Commenté : Zoltán Csáti le 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.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 28 Mar 2014
Modifié(e) : Azzi Abdelmalek le 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)
  1 commentaire
Zoltán Csáti
Zoltán Csáti le 28 Mar 2014
How stupid I am! I should have thought of it. Thank you very much.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by