5

重複の可能性:
matlab で文字列を数値配列に変換する

このような文字列を変換するMatlabの簡単な方法はありますか

'123456789'

このようなベクトルに?

[1 2 3 4 5 6 7 8 9]
4

2 に答える 2

9

0 から 9 までの連続する文字しかない場合:

v = double(s)-'0';

double(s) は、文字列を、各要素が対応する文字の ASCII コードである配列に変換します。数値を取得するには、'0' (実際には ASCII では 48) を減算します。数字は ASCII コードでは連続した表現 ('1' = 49、'2' = 50 など) であるため、最終的には意図したとおりになります。結果。

于 2012-11-03T23:41:35.847 に答える
5

1つの方法がこれに使用regexpされます。ただし、もちろん、1 桁の数字に対してのみ機能します。

>> str = '123456789';
>> num = regexp(str,'\d')

num =

 1     2     3     4     5     6     7     8     9
于 2012-11-03T23:44:42.073 に答える