如何在单元格数组中只保留大于10的行?

时间:2017-05-15 01:55:39

标签: matlab cell-array

我有一个多行和两列的单元格数组,我想只保留第二列值大于10的行?

输入:

'OR2V2' 16 
'RAB33B' 1
'ALDOC' 45
'CCNY' 8
'LIM2' 20 
'PECR' 29

输出:

'OR2V2' 16
'ALDOC' 45
'LIM2' 20
'PECR' 29

1 个答案:

答案 0 :(得分:1)

Input = {'OR2V2' 16 ; 'RAB33B' 1 ; 'ALDOC' 45 ; 'CCNY' 8 ; 'LIM2' 20 ; 'PECR' 29};
Output = Input([Input{:,2}]>10,:);

%Output = 
%
%    'OR2V2'    [16]
%    'ALDOC'    [45]
%    'LIM2'     [20]
%    'PECR'     [29]

[Input{:,2}]给出包含Input第二列元素的矩阵。您也可以使用cell2mat(Input(:,2))代替。然后[Input{:,2}]>10提供Input所需的逻辑索引以用于所需的结果。