Matlab - Lectura de archivo de texto

 
Vista:

Lectura de archivo de texto

Publicado por Manuel (10 intervenciones) el 21/02/2012 17:29:49
Hola a tod@s,

les escribo para ver si alguien sabría como realizar la acción que les describo a continuación. Tengo un archivo de texto del tipo:


34 0.40124E-01 0.56472E-01 0.36698E-01 0.78395E-01
35 0.26700E-01 0.56469E-01 0.24334E-01 0.67035E-01
36 0.43598E-01 0.74792E-01 0.36863E-01 0.94093E-01
37 0.41847E-01 0.65631E-01 0.36780E-01 0.86090E-01

***** POST1 NODAL DEGREE OF FREEDOM LISTING *****

LOAD STEP= 1 SUBSTEP= 7
FREQ= 3.1196 LOAD CASE= 0

THE FOLLOWING DEGREE OF FREEDOM RESULTS ARE IN THE GLOBAL COORDINATE SYSTEM

NODE UX UY UZ USUM
38 0.28987E-01 0.74798E-01 0.24439E-01 0.83859E-01
39 0.63159E-01 0.56473E-01 0.57845E-01 0.10259
40 0.51562E-01 0.56472E-01 0.47264E-01 0.89898E-01
41 0.68507E-01 0.74789E-01 0.58098E-01 0.11688

donde los datos se corresponden a desplazamientos, me gustaría saber cómo hacer que MATLAB lea únicamente los datos numéricos , es decir, que lea las 4 filas primeras (34, 35, 36 y 37), pegue un salto de linea obviando el texto intermedio y retome la lectura en las siguientes lineas de datos (38, 39, 40 y 41).

Muchas gracias y un saludo.
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Lectura de archivo de texto

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 21/02/2012 20:21:03
Hola Manuel.
Al parecer quieres hacer algo asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clear all
format shortE
fid1=fopen('importandodatatxt12.txt');
 i=1;
 while 1
 linea=fgetl(fid1);
 if ~ischar(linea),
     break;
 end
 a=str2num(linea); %#ok<ST2NM>
 [fila,columna]=size(a);
 if fila~=0 && columna~=0
     A(i,:)=a;
     i=i+1;
 end
 end
fclose(fid1);
display(A)



1
2
3
4
5
6
7
8
9
10
11
12
13
EJECUCION
>> importandodatatxt12
 
A =
 
  3.4000e+001  4.0124e-002  5.6472e-002  3.6698e-002  7.8395e-002
  3.5000e+001  2.6700e-002  5.6469e-002  2.4334e-002  6.7035e-002
  3.6000e+001  4.3598e-002  7.4792e-002  3.6863e-002  9.4093e-002
  3.7000e+001  4.1847e-002  6.5631e-002  3.6780e-002  8.6090e-002
  3.8000e+001  2.8987e-002  7.4798e-002  2.4439e-002  8.3859e-002
  3.9000e+001  6.3159e-002  5.6473e-002  5.7845e-002  1.0259e-001
  4.0000e+001  5.1562e-002  5.6472e-002  4.7264e-002  8.9898e-002
  4.1000e+001  6.8507e-002  7.4789e-002  5.8098e-002  1.1688e-001



Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
[email protected] ; [email protected]
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 archivo de texto

Publicado por Manuel (10 intervenciones) el 22/02/2012 17:19:31
Muchas gracias Jose!!ahora mismo me pongo a probarlo!!!
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