Matlab - Lectura de un archivo de vector columna irregular

   
Vista:

Lectura de un archivo de vector columna irregular

Publicado por Javier (2 intervenciones) el 16/11/2014 10:20:46
Hola, tengo un archivo de texto de la siguiente forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
##########################################################
# Consulta realizada a 11/11/2014 05:03:51 UTC
# Periodo: desde 01/01/2010 00:00  a 31/01/2010 23:59  UTC
##########################################################
 
##########################################################
# SPIM, Lima-Callao / Aerop. Internacional Jorgechavez (Peru)
# Indicativo sinóptico: 84628
# Latitud 12-00S. Longitud 077-07W. Altitud 12 m.
##########################################################
 
###################################
#  METAR/SPECI de SPIM
###################################
201001010000 METAR SPIM 010000Z 16011KT 9999 FEW010 BKN030 23/20 Q1013
                        NOSIG=
201001010100 METAR SPIM 010100Z 16010KT 9999 OVC030 22/20 Q1014
                        NOSIG=
201001010200 METAR SPIM 010200Z 16011KT 9999 FEW005 OVC028 22/20 Q1015
                        NOSIG=
201001010300 METAR SPIM 010300Z 15010KT 9999 OVC025 22/20 Q1015
                        NOSIG=
201001010400 METAR SPIM 010400Z 16010KT 9999 BKN012 OVC025 22/19 Q1015
                        NOSIG=
201001010500 METAR SPIM 010500Z 16008KT 9999 SCT012 OVC027 22/19 Q1014
                        NOSIG=
201001010600 METAR SPIM 010600Z 15009KT 4500 FU BKN014 OVC024 22/19 Q1013
                        NOSIG=
201001010700 METAR SPIM 010700Z 16009KT 6000 SCT012 OVC025 22/19 Q1012
                        NOSIG=
201001010800 METAR SPIM 010800Z 17007KT 9000 OVC025 21/19 Q1012
                        NOSIG=
201001010900 METAR SPIM 010900Z 16006KT 9999 SCT006 OVC025 21/19 Q1012
                        NOSIG=


Esto es una parte del archivo de texto real, de ahi siguen lineas similares donde **/** estan en desorden. La idea es tener un vector para el año, mes, día y hora.(los 201001010000...)
Luego asociarlo al vector columna de los textos 21/19 por ejemplo, pero antes estos vectores 21/19 separarlo en dos vectores columna 21 19 y demás datos similares(para cada linea de datos hay **/**),esto lo puedo hacer con por ejemplo
xd = 'C:\work\matlab';
C = regexp(xd, '/', 'split')
,mejor dicho quisiera obtener de salida algo así:

1
2
3
4
5
6
7
8
9
10
11
Fecha                                    Temp.aire                       Temp.rocio
201001010000                                23                                      20
201001010100                                22                                      20
201001010200                                22                                      20
201001010300                                22                                      20
201001010400                                22                                      19
201001010500                                22                                      19
201001010600                                22                                      19
201001010700                                22                                      19
201001010800                                21                                      19
201001010900                                21                                      19


De lo que pude investigar obtuvo esta información similar del comentario de Kelly Kearney: http://www.mathworks.com/matlabcentral/answers/126851-reading-in-data-from-an-irregular-text-file las dos primeras lineas es para leer el texto y eliminar el texto ## para solo tener datos numéricos , y luego quiere obtener los vectores.

Gracias, una ayuda es bien recibida.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO

Lectura de un archivo de vector columna irregular

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 17/11/2014 14:46:56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
>> importandodatostexto21
Ingrese el nombre archivo.txt :importandodatostexto21.txt
       Fecha           Temp.aire  Temp.rocio
   201001010000          23           20
   201001010100          22           20
   201001010200          22           20
   201001010300          22           20
   201001010400          22           19
   201001010500          22           19
   201001010600          22           19
   201001010700          22           19
   201001010800          21           19
   201001010900          21           19
 
B =
 
    '201001010000 METAR SPIM 010000Z 16011KT 9999 FEW010 BKN030 23/20 Q1013'
    '201001010100 METAR SPIM 010100Z 16010KT 9999 OVC030 22/20 Q1014'
    '201001010200 METAR SPIM 010200Z 16011KT 9999 FEW005 OVC028 22/20 Q1015'
    '201001010300 METAR SPIM 010300Z 15010KT 9999 OVC025 22/20 Q1015'
    '201001010400 METAR SPIM 010400Z 16010KT 9999 BKN012 OVC025 22/19 Q1015'
    '201001010500 METAR SPIM 010500Z 16008KT 9999 SCT012 OVC027 22/19 Q1014'
    '201001010600 METAR SPIM 010600Z 15009KT 4500 FU BKN014 OVC024 22/19 Q1013'
    '201001010700 METAR SPIM 010700Z 16009KT 6000 SCT012 OVC025 22/19 Q1012'
    '201001010800 METAR SPIM 010800Z 17007KT 9000 OVC025 21/19 Q1012'
    '201001010900 METAR SPIM 010900Z 16006KT 9999 SCT006 OVC025 21/19 Q1012'


Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com
Estimado Usuario de Matlab, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lectura de un archivo de vector columna irregular

Publicado por Javier (2 intervenciones) el 18/11/2014 00:03:16
Hola profesor, lo que deseo es el proceso de como llegar de B a A algo asi como el comentario de Kelly Kearney http://www.mathworks.com/matlabcentral/answers/126851-reading-in-data-from-an-irregular-text-file no se si puede hacer este porceso en matlab , gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

Lectura de un archivo de vector columna irregular

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 18/11/2014 00:07:05
El código que he hecho, hace lo que pides.
ejecuta el código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

Lectura de un archivo de vector columna irregular

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 18/11/2014 02:25:26
Usar strfind, break, fgetl, while, fclose....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar