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

how to keep only the rows greater than 10 in a cell array?

我有一个包含多行和 2 列的元胞数组,我只想保留第二列中值大于 10 的行?

输入:

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

输出:

'OR2V2' 16
'ALDOC' 45
'LIM2' 20
'PECR' 29
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 所需的逻辑索引以用于所需的结果。