Date: Jul 31, 2013 12:00 PM
Author: dpb
Subject: Re: Remove text from file of numerics

On 7/31/2013 4:37 AM, Phil Roberts wrote:
> Hello,
>
> I have the following data within a text file:
>
> Cycle 1
> x y z
> 1 10 100
> 2 20 200
> 3 30 300
> 4 40 400
> 5 50 500
> 6 60 600
> 7 70 700
> 8 80 800
> 9 90 900
> 10 100 1000
>
> Cycle 2
> x y z
> 11 110 1100
> 12 120 1200
> 13 130 1300
> 14 140 1400
> 15 150 1500
> 16 160 1600
> 17 170 1700
> 18 180 1800
> 19 190 1900
> 20 200 2000
>
> Cycle 3
> x y z
> 21 210 2100
> 22 220 2200
> 23 230 2300
> 24 240 2400
> 25 250 2500
> 26 260 2600
> 27 270 2700
> 28 280 2800
> 29 290 2900
> 30 300 3000
>
> How do I read in this data so I just have a matrix of 30 x 3 without the
> strings?


doc textscan

It'll read multiple calls from the same file and since it appears the
file is counted number of lines/cycle you can use 'headerline',2 once
then 3 thereafter (unless the blank line also begins the file, then it's
even simpler as there are 3 header lines for all cases). Repeat until
feof(fid)

You'll get a cell array unfortunately, but you can the cast it to a
matrix w/ cell2mat.

Other than that, just use fgetl() to read the headerlines and then
fscanf() to return the array data in a loop again until feof()

--