2012-04-11 14 views
1

ich mit nur whole numbers in eine Spalte, auf die ich brauche eine Nummer anhängen (zB 11) an der Front -append Ziffern einer Zahl - Matlab

data = (1:1300000)'; 
% append 11 to these numbers 

newdata = [111 ; 112 ; 113 ; 114 ; ......] 

Gibt es eine Möglichkeit, es zu tun ohne Verwendung von str2num (wegen Geschwindigkeitsproblemen)? Vielen Dank.

Antwort

5

Wenn Sie den Basis-10-Logarithmus von data nehmen, können Sie herausfinden, wie viel Sie 11 multiplizieren müssen, damit Sie dies in eine einfache Addition verwandeln können.

%# create some test data 
data = [1 22 123]; 

%# add 11*10^x to data so that the two ones end up in front of the number 
newData = 11*10.^(floor(log10(data))+1)+data 

newData = 
     111  1122  11123 
Verwandte Themen