Identify first instance of something in a .dat file
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Victoria Lawlor
le 22 Oct 2015
Commenté : TastyPastry
le 27 Oct 2015
I have a data file where one tab contains the picture that was presented on the screen another tab has the timestamp. Below is a really short version of what it looks like.
Dog 1ms
Dog 2ms
Dog 3ms
Cat 4ms
Cat 5ms
Cat 6ms
Dog 7ms
Dog 8ms
Dog 9ms
Cat 10ms
Cat 11ms
Cat 12ms
I need to get the rows with the first instance in the grouping (?) of that picture with the timestamp. Below is what I want to have:
Dog 1ms
Cat 4ms
Dog 7ms
Cat 10ms
I'm not sure how to go about doing this; any help would be appreciated!
0 commentaires
Réponse acceptée
TastyPastry
le 22 Oct 2015
fid = fopen('test.txt');
data = textscan(fid,'%s %s');
data = [data{1} data{2}];
out = data(1,:);
for i=2:numel(data(:,1))
if ~strcmpi(data{i-1,1},data{i,1})
out = [out;data(i,:)];
end
end
4 commentaires
TastyPastry
le 27 Oct 2015
Did you run the test.m with test.txt? I just the script and it's working fine. I doubt it's an issue with more than 1 column, since the code limits the data it pulls to the first two.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Cell Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!