remove rows with certain element in cell arrays

3 vues (au cours des 30 derniers jours)
FATEMEH
FATEMEH le 2 Fév 2012
In the following data set, I want to keep only the rows with 'Hourly' element, thus only row 2. I use the following, but it doesn't work. Can anybody help me?
data={'s' 'e' 'daily'; 't' 'c' 'hourly'; 'm' 'b' 'daily'}
data_2 = cellfun(@(x) x(x(:,3)=='Hourly'), data, 'UniformOutput', false)

Réponse acceptée

Geoff
Geoff le 2 Fév 2012
Did you mean to write:
x{:,3}=='Hourly'
The curly-braces thing trips me up all the time =)
  2 commentaires
Geoff
Geoff le 2 Fév 2012
Err... Sorry, this works:
data_2 = data(find(strcmp(data(:,3), 'hourly')),:)
-g-
FATEMEH
FATEMEH le 2 Fév 2012
thanks a lot!

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 2 Fév 2012
data = {'s' 'e' 'daily'; ...
't' 'c' 'hourly'; ...
'm' 'b' 'daily'};
data2 = data(strcmpi(data(:, 3), 'hourly'), :);

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by