How to turn data from text file into cell array?

17 views (last 30 days)
So I've got this sample.txt and I'm told that the first integer is to be the number of triangles there are on the array while the following numbers are the width and height respectively.
So far I'm at:
FID=fopen('sample.txt','r');
A=fscanf(FID,'%s');
and I get the string but it has no spaces. I want the scan to ignore the 1st number and make the rest into a 2 column matrix so I can used the height and width to create the area. Please help!

Accepted Answer

Michael Haderlein
Michael Haderlein on 7 May 2015
Edited: Michael Haderlein on 7 May 2015
What is rows 2-18? Under the assumption that we can ignore them, just use textscan and take them as headerlines:
>> fid=fopen('sample.txt');
>> data=textscan(fid,'%f%f','headerlines',18);
>> fclose(fid);
>> width=data{1};
>> height=data{2};
However, only 100 rows are found then instead of 112. But as some of the rows before row 19 have more/less than 2 columns, they don't seem to have the same meaning.
  3 Comments
Michael Haderlein
Michael Haderlein on 7 May 2015
>> fid=fopen('sample.txt');
>> data=textscan(fid,'%f','headerlines',1);
>> fclose(fid);
>> width=data{1}(1:2:end);
>> height=data{1}(2:2:end);
Japoe25
Japoe25 on 7 May 2015
That's much better! thank you kind sir, sorry for duplicating, I was getting impatient :(

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!