Powiel możliwe:
convert string to number array in matlabMatlab, jak przekonwertować ciąg liczb całkowitych na wektor?
Czy istnieje prosty sposób w Matlab przekonwertować ciąg jak to
'123456789'
do wektora takiego?
[1 2 3 4 5 6 7 8 9]
Powiel możliwe:
convert string to number array in matlabMatlab, jak przekonwertować ciąg liczb całkowitych na wektor?
Czy istnieje prosty sposób w Matlab przekonwertować ciąg jak to
'123456789'
do wektora takiego?
[1 2 3 4 5 6 7 8 9]
Jeśli wszystko masz przylega znaków od 0 do 9:
v = double(s)-'0';
podwójnym (ów) konwertuje ciąg znaków do tablicy, gdzie każdy element jest kod ASCII odpowiedniego charakteru. Aby uzyskać wartości liczbowe, odejmujemy "0" (co w rzeczywistości jest 48 w ASCII), a ponieważ cyfry mają sekwencyjną reprezentację w kodzie ASCII ("1" = 49, "2" = 50 itd.), Kończymy z zamierzonym wynik.
w ten sposób można użyć regexp
. Ale oczywiście działa tylko dla numerów jednocyfrowych.
>> str = '123456789';
>> num = regexp(str,'\d')
num =
1 2 3 4 5 6 7 8 9
Podwójny w rzeczywistości nie wydaje się konieczny. s - wystarczyłoby "0". @pedrosorio – iab