我有一个 Matlab 单元格数组,A <118080 x 1 cell> 看起来像这样:
"Point 1"
"Point 2"
"Point 3"
...
"Point 1230"
这些单元是 1x9 和 1x12 尺寸之间的 char 单元。
我需要将这些字段中的数字分开以给出 118080 x 1 矩阵,例如:
1
2
3
...
1230
任何帮助将不胜感激。
最好的
Sam(Matlab 新手)
我有一个 Matlab 单元格数组,A <118080 x 1 cell> 看起来像这样:
"Point 1"
"Point 2"
"Point 3"
...
"Point 1230"
这些单元是 1x9 和 1x12 尺寸之间的 char 单元。
我需要将这些字段中的数字分开以给出 118080 x 1 矩阵,例如:
1
2
3
...
1230
任何帮助将不胜感激。
最好的
Sam(Matlab 新手)
没有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
cellfun(@(x)(x(7:end)), A, 'UniformOutput', false)
或者如果你想要它们作为数字然后
cellfun(@(x)(str2num(x(7:end))), A)