重複の可能性:
matlab で文字列を数値配列に変換する
このような文字列を変換するMatlabの簡単な方法はありますか
'123456789'
このようなベクトルに?
[1 2 3 4 5 6 7 8 9]
重複の可能性:
matlab で文字列を数値配列に変換する
このような文字列を変換するMatlabの簡単な方法はありますか
'123456789'
このようなベクトルに?
[1 2 3 4 5 6 7 8 9]
0 から 9 までの連続する文字しかない場合:
v = double(s)-'0';
double(s) は、文字列を、各要素が対応する文字の ASCII コードである配列に変換します。数値を取得するには、'0' (実際には ASCII では 48) を減算します。数字は ASCII コードでは連続した表現 ('1' = 49、'2' = 50 など) であるため、最終的には意図したとおりになります。結果。
1つの方法がこれに使用regexp
されます。ただし、もちろん、1 桁の数字に対してのみ機能します。
>> str = '123456789';
>> num = regexp(str,'\d')
num =
1 2 3 4 5 6 7 8 9