decimal array from logical array

4 ビュー (過去 30 日間)
Chris
Chris 2012 年 1 月 16 日
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?

採用された回答

David Young
David Young 2012 年 1 月 16 日
2*a(:, 1:2:end) + a(:, 2:2:end)

その他の回答 (1 件)

Chris
Chris 2012 年 1 月 17 日
Of course! Life is so simple if you open your eyes! Thank you :)

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by