Matlab - Ayuda urgente para pasar .txt a .mat

   
Vista:

Ayuda urgente para pasar .txt a .mat

Publicado por Noni (5 intervenciones) el 11/07/2009 11:50:04
Hola, necesito ayuda urgente porque es para mi proyecto fin de carrera y sin esto no puedo continuar.
El caso es que tengo que cargar datos de archivos .txt (cada uno me dará 8 columnas de unos 10000 datos cada una) pero tienen un encabezamiento (5 líneas).
Le he preguntado a mi tutor y me dice que tengo que crear una subrutina que primero me elimine el encabezamiento y luego me pase de .txt a .mat.
El problema es que no tengo ni idea de cómo hacerlo y él no tiene pensado ayudarme, así que ya no sé qué hacer.
He probado a leer el .txt y guardar fila por fila (excepto las que quiero eliminar) creando un nuevo archivo, pero al ser tantos datos se me colapsa el ordenador, así que no tengo ni idea de qué hacer.

¡¡¡¡¡¡¡¡¡AYUDADME, POR FAVOR!!!!!!!!!!!!!!!
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

RE:Ayuda urgente para pasar .txt a .mat

Publicado por mapi (14 intervenciones) el 11/07/2009 15:48:23
hola
tienes elmismoproblema que yo tenia con mi proyecto.jejejeje
yo en mi caso solo tenia que eliminar la primera fila del fichero de texto y asi es como lo solucioné: mi rutina la llame txttomatrix, y le paso bueno.....'file' seria el nombre de tu fichero de texto.


function matrix=txttomatrix(an,dir)
file=[dir,an];
disp(file);%esto es solopara que te lo muestre por la pantalla principal
id=fopen(file,'r+t'); % file sería el nombre de tu fichero
fseek(id,0,'bof'); %busca el origen del fichero
c=textscan(id,'%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','headerlines',1); % el 1 indica cuántas líneas de "título" quieres quitar,y yo tengo 21 %f por 21 columnas k tengo en mi fichero txt
d=cell2mat(c); % Esto convierte tus datos a una matriz
matrix=d;
end


para que te hagas una idea mi fichero txt tenia 21 columnas y 4317 filas, y con esto me cargo una fila,la primera.
donde yo puse '1' tu pones 5 y ya esta.
osea:

c=textscan(id,'%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','headerlines',5)

yo puse %f porque era floats y me interesaba, pero tu pon %d si son integers.

cualkier duda me lo dices
byeeee!!!!
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

RE:Ayuda urgente para pasar .txt a .mat

Publicado por fismat (391 intervenciones) el 23/07/2009 17:30:05
Hola

Tambien puedes probar con el comando

archivo de text fname.txt

fid=fopen('fname.txt);
while 1
tline = fgetl(fid);
if ~ischar(tline), break, end
disp(tline)
end
fclose(fid);

Saludos
Fismat
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

RE:Ayuda urgente para pasar .txt a .mat

Publicado por Aida (3 intervenciones) el 04/09/2009 02:47:11
Hola.....
yo yengo un problema similar al planteado solo que lo que yo deseo hacer es pasar archivos .mat a archivos .txt, estos archivos .mat, guardan 3 matrices....alguna idea??
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