Logical Operator Matrix Problem

2 Ansichten (letzte 30 Tage)
Umit
Umit am 8 Aug. 2012
I have a logical matrix A [m by n], I want to find all rows of A that has only 1 true in that row. Lets assume
A = [1 0; 1 1; 0 0; 0 1]
After my process, I should get
Res = [1 0;0 0;0 0;0 1]
As logical matrix. It needs to only extract 1 true rows from A and make all other rows as false. Res matrix & A matrix have same dimensions

Akzeptierte Antwort

per isakson
per isakson am 8 Aug. 2012
Try
A = [true,false; true,true; false,false; false,true];
sss = sum( double(A), 2 );
Res = false( size( A ) );
Res( sss==1, : ) = A( sss==1, : );
>> Res
Res =
1 0
0 0
0 0
0 1

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices 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