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

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.

Answers (2)

This should do what you need:
n = sum(a.*10.^[length(a)-1:-1:0])

2 Comments

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.
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

Sign in to comment.

You could store it as a char string
a=[1 0 0 0 0 1 1 0 1 0]
b=char(a+48)

Categories

Asked:

on 28 Mar 2018

Commented:

on 28 Mar 2018

Community Treasure Hunt

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

Start Hunting!