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

1 Ansicht (letzte 30 Tage)
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

Akzeptierte Antwort

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

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 27 Nov. 2019
Bearbeitet: Andrei Bobrov am 28 Nov. 2019
out = all(A <= 1,2).*A

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by