MATLAB Answers

reading a txt file with rows of different length

13 views (last 30 days)
Zinat Zarandi
Zinat Zarandi on 21 Feb 2019
Commented: Zinat Zarandi on 22 Feb 2019
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.


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');
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);