Logical Operator Matrix Problem

2 次查看(过去 30 天)
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

采纳的回答

per isakson
per isakson 2012-8-8
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by