join numbers in vector

5 vues (au cours des 30 derniers jours)
gwar
gwar le 23 Juil 2013
I have a row vector with 7 numbers, e.g. 13 30 44 12 44 23 12. I want to join all these numbers into a single number, or 13304412442312. I have not been able to find a method to do this. Can anyone please suggest a method to do this without using a for loop.

Réponse acceptée

kjetil87
kjetil87 le 23 Juil 2013
Modifié(e) : kjetil87 le 23 Juil 2013
x=[13 30 44 12 44 23 12];
stringX=num2str(x);
stringX=stringX(stringX~=' '); % remove the space
x2=str2num(stringX);
  3 commentaires
kjetil87
kjetil87 le 23 Juil 2013
agreed , int64 is better.
dpb
dpb le 23 Juil 2013
Gives more dynamic range than double at cost of less flexible to other operations. Of course, OP will eventually run out of range there, too, if continues to increase the size of the vector...

Connectez-vous pour commenter.

Plus de réponses (2)

Azzi Abdelmalek
Azzi Abdelmalek le 23 Juil 2013
Modifié(e) : Azzi Abdelmalek le 23 Juil 2013
a=[13 30 44 12 44 23 12]
b=strrep(num2str(a),' ','')
% This is a string, if you to get a number
b=str2num(strrep(num2str(a),' ',''))

dpb
dpb le 23 Juil 2013
>> sscanf(sprintf('%d',v),'%lu')
ans =
13304412442312
>> whos ans
Name Size Bytes Class Attributes
ans 1x1 8 uint64
>> sscanf(sprintf('%d',v),'%li')
ans =
13304412442312
>> whos ans
Name Size Bytes Class Attributes
ans 1x1 8 int64
>>

Catégories

En savoir plus sur Logical 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