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

2 visualizzazioni (ultimi 30 giorni)
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.

Risposte (2)

Kai Domhardt
Kai Domhardt il 28 Mar 2018
This should do what you need:
n = sum(a.*10.^[length(a)-1:-1:0])
  2 Commenti
Daniel Foster
Daniel Foster il 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 il 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

Accedi per commentare.


David Fletcher
David Fletcher il 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)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by