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

7 views (last 30 days)
Michael
Michael on 17 Nov 2013
Edited: Michael on 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

Accepted Answer

Walter Roberson
Walter Roberson on 17 Nov 2013
cll = textscan(filename{fileid}, '%f%f%*f', 'numberofheaderlines', 14, 'CollectOutput', 1);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!