Matlab - Desechar lineas de un fichero .txt

 
Vista:
Imágen de perfil de Oliver

Desechar lineas de un fichero .txt

Publicado por Oliver (1 intervención) el 19/05/2017 18:30:27
Buenas tardes.
Yo trabajo en Octave, según el profesor es un lenguaje muy similar a Matlab por eso lo pregunto por aquí ya que no encuentro foro para Octave.

Mi duda es a la hora extraer datos de un fichero en el que hay lineas que me interesan y lineas que no. Suelen tener una cabecera que me la salto con un for i=1:x; fgetl(fid)... a continuación suelen venir todos los datos que me interesan hasta el final, con lo cual me le suelo leer hasta el final con un while~feof(fid). El problema es cuando tengo un fichero muy grande y tengo por medio lineas que no me interesan, si es pequeño se pueden leer y saltar las que quieras de la misma manera que me salto la cabecera (aunque no sea muy sutil), pero si el fichero tiene cientos de lineas? Se me ocurre definir la linea(s) que no necesito en strings y de alguna manera decirle al programa que no las lea, pero no se cómo hacerlo exactamente.

También me he acordado de otra duda similar. Pongamos que yo extraigo datos de un fichero que tiene... 50 columnas de datos por ejemplo. Lo que suelo hacer para utilizar esos datos es hacer un [dato1,dato2,dato3,datox]=strread(linea,'%f%f%f%f','delimiter',',')... este es un ejemplo para un fichero de 4 columnas, pero en el caso que propongo? si hay 50? tengo que poner [dato1,dato2,dato3....dato50]=strread(linea,'%f%f%f........%f%f...)?????
Es que recientemente hice un ejercicio similar y tenia 30 columnas y ya me pareció demasiada larga la linea del código, así que pensé que seguramente exista una manera mucho más sencilla y sutil de hacer eso.


Muchas gracias de antemano, es mi primera intervención en el foro lo siento por si está mal escrito o redactado, gracias.
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