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'

カテゴリ

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by