Borrar filtros
Borrar filtros

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

6 visualizaciones (últimos 30 días)
Daniel Foster
Daniel Foster el 28 de Mzo. de 2018
Comentada: Kai Domhardt el 28 de Mzo. de 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.

Respuestas (2)

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

Iniciar sesión para comentar.


David Fletcher
David Fletcher el 28 de Mzo. de 2018
You could store it as a char string
a=[1 0 0 0 0 1 1 0 1 0]
b=char(a+48)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by