How to incorporate a conditional nonzero statement for multiple columns

1 vue (au cours des 30 derniers jours)
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

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB 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