我有一个由 20 个单元组成的矩阵,名为 T。 该矩阵中的每个单元格都包含以下内容:
1,26:00:01.490, 2.40,101.2, 7.8,-24.0,20.40,-0.76,-0.26
我想将其分隔并分成几列,所以我使用:
Data=regexp(T,',','split');
结果是我得到 Data = 20x1 单元格,并且每个单元格内部都有另一个单元格,其中包含我想要的分割向量。
到目前为止,一切都很好,但我想做的下一件事是获取所有时间变量(例如26:00:01.490
),但它们位于 2 个单元格内。
我想做的是 Data{:,1}{1,2}
但它说错误的单元格引用操作是错误。
有人知道如何获取另一个单元格内的单元格数组中的整列吗?
最佳答案
如果所有二级单元格的大小相同(即所有字符串的逗号数量都相同),则可以将所有二级单元格垂直连接起来形成一个二维单元格数组,然后就很容易了访问列。
例如:
>> T(1,:) = {'1,26:00:01.490, 2.40,101.2, 7.8,-24.0,20.40,-0.76,-0.26'}; %// example...
>> T(2,:) = {'2,26:00:01.490, 2.40,101.2, 7.8,-24.0,20.40,-0.76,-0.26'}; %// ...with 2 rows
>> Data = regexp(T,',','split'); %// as per your code
>> Data = vertcat(Data{:}); %// concatenate vertically to obtain 2D cell array
>> Data(:,1:2) %// now you can access columns
ans =
'1' '26:00:01.490'
'2' '26:00:01.490'
关于正则表达式格式并使用 2 个元胞数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30312123/