MATLAB Answers

reading a txt file with rows of different length

25 views (last 30 days)
Zinat Zarandi
Zinat Zarandi on 21 Feb 2019
Commented: Zinat Zarandi on 22 Feb 2019
Hi,
I would like to read a text file as below and I need to extract data in 'points' row. I have tried many ways but it didnt work.I appreciate if someone can guide me to find a solution.
Thanks in advance.

  2 Comments

Adam
Adam on 21 Feb 2019
What are the 'many ways' you have tried and in what way didn't they work?
Zinat Zarandi
Zinat Zarandi on 21 Feb 2019
I have found this script here and when I use this code in a cell arrey I can find data in points but in default format of text.
how can I seprate it in data?
I need to sepratet first odd num (first,third,...,n-1) as 'x' and even num (second, fourth,..,n) as 'y'.

Sign in to comment.

Answers (1)

Are Mjaavatten
Are Mjaavatten on 22 Feb 2019
fid = fopen(filename);
lines = textscan(fid,'%s','delimiter','\n');
fclose(fid);
lines = lines{1};
% The points data are in line 3. Start after the left bracket:
points = sscanf(lines{4}(strfind(lines{4},'[')+1:end-1),'%f,');
widths = sscanf(lines{5}(strfind(lines{5},'[')+1:end-1),'%f,');
x = points(1:2:end);
y = points(2:2:end);

Tags

Community Treasure Hunt

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

Start Hunting!