decimal array from logical array

3 Ansichten (letzte 30 Tage)
Chris
Chris am 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?

Akzeptierte Antwort

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

Weitere Antworten (1)

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

Kategorien

Mehr zu Creating and Concatenating 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