Como leer e importar encabezado y datos de distinto tipo usando textscan
Publicado por Estefania (2 intervenciones) el 30/10/2014 12:24:50
Buenos dias,
Llevo unos dias tratando de resolver lo siguiente:
Necesito escribir un programa que me devuelva y guarde informacion en el encabezado, y posteriormente, una vez leido el encabezado, vaya formando estructura de datos con un bucle (de tamaño especificado segun un valor del encabezado) para los datos que siguen a continuacion, guardando epoca (la primera es * 2012 1 1 0 0 0.00000000) y luego las 4 primeras columnas (PRN del satelite, X, Y Z).
No se que estructura utlizar para leerlo. Si o bien leer linea por linea el encabezado y luego leer y guardar con un bucle. En tal caso, si usar textscan, fget ...
Con textscan no sabria darle la orden para leer determinados valores de cada una de las lineas del encabezado (me interesa guardar: 97, 900.00000000, 55927, 55)
Aqui adjunto parte del fichero que quiero leer (a partir de ahi solo se repite).
Agradeceria mucho la ayuda...
Un saludo.
#cV2012 1 1 0 0 0.00000000 97 d+D IGb08 FIT AIUB
## 1669 0.00000000 900.00000000 55927 0.0000000000000
+ 55 G01G02G03G04G05G06G07G08G09G10G11G12G13G14G15G16G17
+ G18G19G20G21G22G23G25G26G27G28G29G30G31G32R01R02R03
+ R04R05R06R07R08R09R10R11R12R13R14R15R16R17R18R19R20
+ R21R22R23R24 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 2 2 3 2 2 3 2 2 2 2 2 2 2 2 2 2 2
++ 2 3 2 2 2 2 2 2 2 2 3 3 2 2 4 3 3
++ 3 3 3 4 4 3 3 2 3 3 4 3 3 4 4 3 3
++ 3 3 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
%c M cc GPS ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%f 1.2500000 1.025000000 0.00000000000 0.000000000000000
%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
%i 0 0 0 0 0 0 0 0 0
%i 0 0 0 0 0 0 0 0 0
/* CENTER FOR ORBIT DETERMINATION IN EUROPE (CODE)
/* 1-DAY FINAL ORBITS FOR DAY 001, 2012
/* BROADCAST CLOCKS INCLUDED
/*
* 2012 1 1 0 0 0.00000000
PG01 -14152.954735 6493.821077 21497.986170 999999.999999
VG01 -5121.193660 -26863.495311 4749.740173 999999.999999
PG02 13646.199234 18427.151742 -13731.738133 999999.999999
VG02 826.036090 17584.786811 23764.214970 999999.999999
PG03 -23145.158503 -11198.972758 -7679.048611 999999.999999
VG03 9609.449786 -1078.255022 -28840.485660 999999.999999
PG04 7051.903331 25170.554224 -3807.929597 999999.999999
VG04 -2950.376171 5165.029796 30938.372129 999999.999999
PG05 16632.474669 4884.084872 -20177.680819 999999.999999
Llevo unos dias tratando de resolver lo siguiente:
Necesito escribir un programa que me devuelva y guarde informacion en el encabezado, y posteriormente, una vez leido el encabezado, vaya formando estructura de datos con un bucle (de tamaño especificado segun un valor del encabezado) para los datos que siguen a continuacion, guardando epoca (la primera es * 2012 1 1 0 0 0.00000000) y luego las 4 primeras columnas (PRN del satelite, X, Y Z).
No se que estructura utlizar para leerlo. Si o bien leer linea por linea el encabezado y luego leer y guardar con un bucle. En tal caso, si usar textscan, fget ...
Con textscan no sabria darle la orden para leer determinados valores de cada una de las lineas del encabezado (me interesa guardar: 97, 900.00000000, 55927, 55)
Aqui adjunto parte del fichero que quiero leer (a partir de ahi solo se repite).
Agradeceria mucho la ayuda...
Un saludo.
#cV2012 1 1 0 0 0.00000000 97 d+D IGb08 FIT AIUB
## 1669 0.00000000 900.00000000 55927 0.0000000000000
+ 55 G01G02G03G04G05G06G07G08G09G10G11G12G13G14G15G16G17
+ G18G19G20G21G22G23G25G26G27G28G29G30G31G32R01R02R03
+ R04R05R06R07R08R09R10R11R12R13R14R15R16R17R18R19R20
+ R21R22R23R24 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 2 2 3 2 2 3 2 2 2 2 2 2 2 2 2 2 2
++ 2 3 2 2 2 2 2 2 2 2 3 3 2 2 4 3 3
++ 3 3 3 4 4 3 3 2 3 3 4 3 3 4 4 3 3
++ 3 3 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
%c M cc GPS ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%f 1.2500000 1.025000000 0.00000000000 0.000000000000000
%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
%i 0 0 0 0 0 0 0 0 0
%i 0 0 0 0 0 0 0 0 0
/* CENTER FOR ORBIT DETERMINATION IN EUROPE (CODE)
/* 1-DAY FINAL ORBITS FOR DAY 001, 2012
/* BROADCAST CLOCKS INCLUDED
/*
* 2012 1 1 0 0 0.00000000
PG01 -14152.954735 6493.821077 21497.986170 999999.999999
VG01 -5121.193660 -26863.495311 4749.740173 999999.999999
PG02 13646.199234 18427.151742 -13731.738133 999999.999999
VG02 826.036090 17584.786811 23764.214970 999999.999999
PG03 -23145.158503 -11198.972758 -7679.048611 999999.999999
VG03 9609.449786 -1078.255022 -28840.485660 999999.999999
PG04 7051.903331 25170.554224 -3807.929597 999999.999999
VG04 -2950.376171 5165.029796 30938.372129 999999.999999
PG05 16632.474669 4884.084872 -20177.680819 999999.999999
Valora esta pregunta


0