decimal array from logical array

4 views (last 30 days)
Chris
Chris on 16 Jan 2012
Hi,
I need to convert a logical array into a decimal array, but the logical elements need to be grouped in pairs. An example would make this clearer:
I have a logical array such as:
>> a = logical([1,0,1,1,1,0; 1,1,0,0,0,1; 0,1,1,1,0,1])
a =
1 0 1 1 1 0
1 1 0 0 0 1
0 1 1 1 0 1
and I want to convert that to decimal with each 2 bits being 1 number:
b =
2 3 2
3 0 1
1 3 1
Does anyone know a clever/ fast MATLAB way of doing this, rather than the boring/slow for-loop way?

Accepted Answer

David Young
David Young on 16 Jan 2012
2*a(:, 1:2:end) + a(:, 2:2:end)

More Answers (1)

Chris
Chris on 17 Jan 2012
Of course! Life is so simple if you open your eyes! Thank you :)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!