MATLAB Answers

Kobi
0

how to read text file and to ignore the first 10 rows and to take only the 4rth and 5th columns?

Asked by Kobi
on 15 Sep 2014
Latest activity Edited by per isakson
on 16 Sep 2014
how to read text file and to ignore the first 10 rows and to take only the 4rth and 5th columns? from this file: http://iopscience.iop.org/0266-5611/17/6/301/media/dielTM_dec4f.exp
i tried to use textscan but i don't really understand how to and it looks a bit complicated
any other solution or how to do this?

  0 Comments

Sign in to comment.

2 Answers

Answer by per isakson
on 15 Sep 2014
Edited by per isakson
on 15 Sep 2014
 Accepted Answer

Try
cac = textscan( fid, '%*f%*f%*f%f%f%*f%*f', 'Headerlines', 10 );
Doc says: &nbsp %* &nbsp Skip the field. textscan does not create an output cell for any field that it skips.
That's not too complicated!
&nbsp
"any other solution or how to do this?" &nbsp None less complicated than textscan - AFAIK

  1 Comment

dlmread() would be easier if it only had a headerlines option. With textscan() you also have to call fopen() and fclose().

Sign in to comment.


Answer by Image Analyst
on 15 Sep 2014

Maybe try importdata()
delimiterIn = ' ';
headerlinesIn = 10;
myStructure = importdata(filename,delimiterIn,headerlinesIn);
data = myStructure.data;
Worked for me.

  2 Comments

You could do it all in just 2 lines instead of the 3 required for textscan(). Plus you don't need to figure out all that stuff about '%*f%*f%*f%f%f%*f%*f' since it figures it out for you.
Problem is I don't know about importdata ;-).

Sign in to comment.