find the difference of two structure elements
71 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Max Bernstein
il 23 Lug 2015
Risposto: Max Bernstein
il 23 Lug 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 Commenti
Risposta accettata
Jos (10584)
il 23 Lug 2015
Modificato: Jos (10584)
il 23 Lug 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 Commenti
Più risposte (3)
Jon
il 23 Lug 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 Commenti
Vedere anche
Categorie
Scopri di più su File Operations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!