how do i convert a dataset to matrix?

hello
I'd like to change a file below to the matrix.
I tried to use fscanf, but got stuck in the formatspec.
Do you know how to choose formatspec or is there any other way to convert those data to the matrix?
Thank you.
$GPGGA,074435.00,3736.07160,N,12651.98574,E,1,08,0.00,10.4,M,,,,*34
$GPRMC,074435.00,A,3736.07160,N,12651.98574,E,0.000,201.2,121120,,,A*58
$GPGGA,074436.00,3736.07194,N,12651.98555,E,1,08,0.00,10.4,M,,,,*3F
$GPRMC,074436.00,A,3736.07194,N,12651.98555,E,1.305,206.9,121120,,,A*58
$GPGGA,074437.00,3736.07208,N,12651.98501,E,1,08,0.00,10.4,M,,,,*39
$GPRMC,074437.00,A,3736.07208,N,12651.98501,E,1.350,209.1,121120,,,A*59
$GPGGA,074438.00,3736.07210,N,12651.98555,E,1,08,0.00,10.4,M,,,,*3E
$GPRMC,074438.00,A,3736.07210,N,12651.98555,E,0.615,213.7,121120,,,A*56
$GPGGA,074439.00,3736.07180,N,12651.98607,E,1,08,0.00,10.4,M,,,,*31
$GPRMC,074439.00,A,3736.07180,N,12651.98607,E,0.292,213.8,121120,,,A*5D
$GPGGA,074440.00,3736.07124,N,12651.98615,E,1,08,0.00,10.4,M,,,,*32
$GPRMC,074440.00,A,3736.07124,N,12651.98615,E,0.354,210.6,121120,,,A*58
$GPGGA,074441.00,3736.07092,N,12651.98645,E,1,08,0.00,10.4,M,,,,*3A
$GPRMC,074441.00,A,3736.07092,N,12651.98645,E,0.531,213.3,121120,,,A*53
$GPGGA,074442.00,3736.07058,N,12651.98662,E,1,08,0.00,10.5,M,,,,*3B
$GPRMC,074442.00,A,3736.07058,N,12651.98662,E,0.640,210.8,121120,,,A*5E
$GPGGA,074443.00,3736.07018,N,12651.98647,E,1,08,0.00,10.5,M,,,,*39
$GPRMC,074443.00,A,3736.07018,N,12651.98647,E,0.693,214.4,121120,,,A*5A
$GPGGA,074444.00,3736.06975,N,12651.98598,E,1,08,0.00,10.5,M,,,,*3C
$GPRMC,074444.00,A,3736.06975,N,12651.98598,E,0.746,212.1,121120,,,A*55

 Accepted Answer

Using two lines of the posted file, this textscan call appears to read each of them (presented individually, since I prefer not to attempt to reconstruct the file):
s = '$GPRMC,074435.00,A,3736.07160,N,12651.98574,E,0.000,201.2,121120,,,A*58';
s = '$GPGGA,074435.00,3736.07160,N,12651.98574,E,1,08,0.00,10.4,M,,,,*34';
C = textscan(s, '%s %f %s %f %s %f %s %f %f %f %s', 'Delimiter',',', 'MultipleDelimsAsOne',1)
It will be necessary to include fopen (and fclose) calls in the script that uses this, and then appropriately use the individual cells in the rest of the code. I avoided using 'CollectOutput' here because I have no idea what the fields represent.
.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!