Importing 2 columns using textscan (OR possibly a different/easier way?)

7 vues (au cours des 30 derniers jours)
Michael
Michael le 17 Nov 2013
Modifié(e) : Michael le 17 Nov 2013
Hey MLC,
I'm trying to use texscan to get matrix output from files which have fourteen lines of junk header crap, and then 3 columns: the frequency, the data, and then another column (it's junk, though)
The files are named e.g. TEST2A.txt, TEST2B.txt, TEST3A.txt,...,TEST9A.txt, TEST9B.txt i.e. 'TEST' then '2'-'9' (labeled itest in my code) and then 'A'/'B' (this is called fileid) :)
How can I improve my code to peel off each column as (first:) freq{itest,fileid} and (second:) noise{itest,fileid}.. Please forgive my noobish ways, please correct me. Also, I tried ot use uiimport and I didn't know how it worked... feelin' dumb.
My code compiles and noise data is empty.
for itest=2:9; % Test Numbers
% two file-types "A" and "B"
filename{1}=sprintf('test%.0fA.txt',itest);
filename{2}=sprintf('test%.0fB.txt',itest);
% "A".. then "B"
for fileid=1:2
% File has 14 lines of header, then 3 col: freq, norm, phase
cll = textscan(filename{fileid},'numberofheaderlines',14);
noisedata{itest,fileid}=cell2mat(cll); clear cll
% freq = noisedata{itest,fileid}(:,1);
% noise = noisedata{itest,fileid}(:,2);
end;
end;
I appreciate your time.
Thank you, Michael

Réponse acceptée

Walter Roberson
Walter Roberson le 17 Nov 2013
cll = textscan(filename{fileid}, '%f%f%*f', 'numberofheaderlines', 14, 'CollectOutput', 1);
  1 commentaire
Michael
Michael le 17 Nov 2013
Modifié(e) : Michael le 17 Nov 2013
As ALWAYS: your help is awesome, thanks a million!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Type Conversion 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!

Translated by