find the difference of two structure elements
71 views (last 30 days)
Show older comments
Max Bernstein
on 23 Jul 2015
Answered: Max Bernstein
on 23 Jul 2015
Hello,
I'm trying to list files in a directory and categorize them. The files have the naming convention as follow:
Slow3C(20150721-1245).txt
Slow3CGO(20150721-1245).txt
Slow3CLMMax(20150721-1245).txt
Slow3CLMMin(20150721-1245).txt
Slow3CTC(20150721-1245).txt
Slow3CTrig(20150721-1245).txt
What I did is:
daq_files=dir('*(*).txt'); % all DAQ files
TCdaq_files=dir('*TC(*).txt'); % all TC files
GOdaq_files=dir('*GO(*).txt'); % all GO files
LMMindaq_files=dir('*LMMin(*).txt'); % all LMMin files
LMMaxdaq_files=dir('*LMMax(*).txt'); % all LMMax files
Trigdaq_files=dir('*Trig(*).txt'); % all Trig files
maindaq_files=
which gives a list of all the files, and put the filenames with TC, GO, etc.. in their own structure. I want the maindaq_files to be Slow3C(20150721-1245).txt, so I'm trying to figure out if I can find the difference between daq_files.name element and all the other variables'.name element, but I'm a little stuck. Is ther a way to do this?
Thanks!
0 Comments
Accepted Answer
Jos (10584)
on 23 Jul 2015
Edited: Jos (10584)
on 23 Jul 2015
help setdiff
First put the names of the files into a cell array.
A = {daq_files.name} ;
B = {TCdaq_files.name} ;
Using the indices returned by setdiff you can select the elements from the original structure arrays returned by dir.
[~,ia,ib] = setdiff(A,B) ;
daq_files = daq_files(ia) ;
Something along these lines should work for you :-)
0 Comments
More Answers (3)
Jon
on 23 Jul 2015
Also this should work except you should use "()" instead of "_" : http://www.mathworks.com/matlabcentral/answers/46760-extracting-number-value-from-string-from-string-using-sscanf
0 Comments
See Also
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!