decimal array from logical array

4 vues (au cours des 30 derniers jours)
Chris
Chris le 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?

Réponse acceptée

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

Plus de réponses (1)

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

Catégories

En savoir plus sur Data Type Conversion 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