How to row reduce matrix with character string and number interval?

1 次查看(过去 30 天)
ft=
'2010-06-0100:13:33' [95] 'AAL1799' 'MD82' 'DFW'
'2010-06-0100:13:33' [60] 'EGF3258' 'E135' 'DFW'
'2010-06-0100:13:33' [40] 'EGF3345' 'E135' 'RTR'
'2010-06-0100:13:33' [86] 'AAL1951' 'MD83' 'DFW'
'2010-06-0100:13:33' [72] 'AAL1227' 'MD82' 'DFW'
I would like to reduce my matrix to only have rows with column 2 greater than or equal to 60 but less than or equal to 90 and have column 5 have 'DFW'.

采纳的回答

Jan
Jan 2012-9-4
编辑:Jan 2012-9-4
value = transpose([ft{:, 2}]);
index = (value >= 60) & (value <= 90) & strcmp(ft(:, 5), 'DFW');
ft2 = ft(index, :);

更多回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2012-9-4
编辑:Azzi Abdelmalek 2012-9-4
ft=ft(cell2mat(cellfun(@(x) x>=60 & x<=90,ft(:,2),'uni',false)),:)
ft=ft(cell2mat(cellfun(@(x) isequal(x,'DFW'),ft(:,5),'uni',false)),:)

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by