How to incorporate a conditional nonzero statement for multiple columns

1 Ansicht (letzte 30 Tage)
Hey,
I have a matrix D and I would like to compare columns elements with each other with a conditional non-zero statement: if only one element in a row is > 0 then keep all zero values in that row 0 and make the nonzero value 1. In addition, if more than one element in a row is nonzero then make all elements in that row 0.
I really appreciate the help!
Many thanks!
Felix
A = [6;3;4];
B = [2;0;1];
C = [6;0;3];
D = [A,B,C]
D =
6 2 6
3 0 0
4 1 3
% desired result
E =
0 0 0
1 0 0
0 0 0

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 20 Nov. 2018
D =[
6 2 6
3 0 0
4 1 3];
out = D > 0;
out(sum(out,2) > 1,:) = 0;

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB 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