Effacer les filtres
Effacer les filtres

Replacing all elements in a row with zeros, if atleast one of the elements in the row is greater than 1

1 vue (au cours des 30 derniers jours)
Good day,
Please how can I replace all elements of a row with zeros if any of the elements in the row is greater than 1.
For instance; I have a 4X3 Matrix;
A= [0.2 0.5 0.1
0.4 0.6 3.0
0.2 0.5 0.1
2.0 0.5 0.1]
Only raw 2 and row 4 contain element that is greater than 1.
so the output will be = [0.2 0.5 0.1
0.0 0.0 0.0
0.2 0.5 0.1
0.0 0.0 0.0]
Thanks in anticipation of your help

Réponse acceptée

James Tursa
James Tursa le 27 Nov 2019
Another method if you want the replacement in-place:
A(any(A>1,2),:) = 0;

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 27 Nov 2019
Modifié(e) : Andrei Bobrov le 28 Nov 2019
out = all(A <= 1,2).*A
  2 commentaires
AUWAL ABUBAKAR
AUWAL ABUBAKAR le 28 Nov 2019
Thanks for your response.
But when I run it, I got exactly the same matrix as A.
The response by James below solved my problem.
thanks

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by