how to concatenate numbers from multiple cells into a single number?

2 vues (au cours des 30 derniers jours)
Daniel Foster
Daniel Foster le 28 Mar 2018
Commenté : Kai Domhardt le 28 Mar 2018
I have a set of data a = [1 0 1 0 0 1 1 1 0 0] and I would like to turn it into something like n = 1010011100
a is a row vector of varying dimension.

Réponses (2)

Kai Domhardt
Kai Domhardt le 28 Mar 2018
This should do what you need:
n = sum(a.*10.^[length(a)-1:-1:0])
  2 commentaires
Daniel Foster
Daniel Foster le 28 Mar 2018
Thanks,
I should have mentioned though that 'a' will have in the hundreds of elements. This code ceases to return the correct values for arrays larger than 50~ elements.
Kai Domhardt
Kai Domhardt le 28 Mar 2018
Then you can use David Fletchers answer by storing it as char string. But will not be able to losslessly store n as a numerical (assuming you would use uint64) if the length of a exceeds 20, since intmax('unit64') == 18446744073709551615 == 1.8447e+19

Connectez-vous pour commenter.


David Fletcher
David Fletcher le 28 Mar 2018
You could store it as a char string
a=[1 0 0 0 0 1 1 0 1 0]
b=char(a+48)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by