1

次のようなMatlabセル配列、 <118080 x 1 cell> があります。

"Point 1"
"Point 2"
"Point 3"
...
"Point 1230"

セルは、1x9 から 1x12 の寸法の char セルです。

これらのフィールドから数値を分離して、次のような 118080 x 1 の行列を作成する必要があります。

1
2
3
...
1230

どんな助けでも大歓迎です。

一番

サム (Matlab 初心者)

4

2 に答える 2

2

cellfunそれを使用しないソリューションregexp(ここでは数字のみが保持されます)

A = {'Point 1'
     'Point 222'
     'Point 33333'}

B = regexp(A, '\d+', 'match');  %produce a cell array of numbers in string format

セルをマトリックスに変換したい場合

B = str2double([B{:}])';        %convert to numbers
于 2013-09-20T14:11:50.980 に答える
1
cellfun(@(x)(x(7:end)), A, 'UniformOutput', false)

または、それらを数値として使用する場合は、

cellfun(@(x)(str2num(x(7:end))), A)
于 2013-09-20T13:59:30.840 に答える