8 digit double array to 1 digit double array

Hi, I am trying to extract 8 digit double array to 1 digit double array.
H = [10001000;
10000001]
I would like to save H(2*1) double matrix to
H_conv = [ 1 0 0 0 1 0 0 0;
1 0 0 0 0 0 0 1]
H_conv(2*8) double matrix.
Thank you.

 採用された回答

Walter Roberson
Walter Roberson 2020 年 4 月 15 日
編集済み: Walter Roberson 2020 年 4 月 15 日

0 投票

num2str(H) - '0'
This relies upon H being a column vector and will not give you the desired answer if H has more than one column.
It will also not give your desired answer if the top digit of H is not set in all values.

4 件のコメント

Hye Sung Moon
Hye Sung Moon 2020 年 4 月 16 日
Thank you! It works perfectly!
James Tursa
James Tursa 2020 年 4 月 16 日
編集済み: James Tursa 2020 年 4 月 16 日
... as long as you have a leading 1 in each number. Do you know this for sure about each value?
Walter Roberson
Walter Roberson 2020 年 4 月 16 日
And you need the same number of digits in each number. It is a "fast and dirty" answer, not the best answer.
Walter Roberson
Walter Roberson 2020 年 4 月 16 日
cell2mat(compose('%08d',H(:)))-'0'

サインインしてコメントする。

その他の回答 (2 件)

Tommy
Tommy 2020 年 4 月 15 日

0 投票

How about
H_conv = num2str(H)-'0'
James Tursa
James Tursa 2020 年 4 月 15 日

0 投票

For column vector H:
H_conv = cell2mat(arrayfun(@(x)sprintf('%08d',x),H,'uni',false)) - '0'

カテゴリ

ヘルプ センター および File ExchangeMatrices and Arrays についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by