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 ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by