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.

 Réponse acceptée

Walter Roberson
Walter Roberson le 15 Avr 2020
Modifié(e) : Walter Roberson le 15 Avr 2020
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 commentaires

Hye Sung Moon
Hye Sung Moon le 16 Avr 2020
Thank you! It works perfectly!
James Tursa
James Tursa le 16 Avr 2020
Modifié(e) : James Tursa le 16 Avr 2020
... as long as you have a leading 1 in each number. Do you know this for sure about each value?
And you need the same number of digits in each number. It is a "fast and dirty" answer, not the best answer.
cell2mat(compose('%08d',H(:)))-'0'

Connectez-vous pour commenter.

Plus de réponses (2)

James Tursa
James Tursa le 15 Avr 2020
For column vector H:
H_conv = cell2mat(arrayfun(@(x)sprintf('%08d',x),H,'uni',false)) - '0'

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by