decimal array from logical array

4 visualizaciones (últimos 30 días)
Chris
Chris el 16 de En. de 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?

Respuesta aceptada

David Young
David Young el 16 de En. de 2012
2*a(:, 1:2:end) + a(:, 2:2:end)

Más respuestas (1)

Chris
Chris el 17 de En. de 2012
Of course! Life is so simple if you open your eyes! Thank you :)

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by