Matlab - guardar datos en archivo txt

 
Vista:

guardar datos en archivo txt

Publicado por bodoque (19 intervenciones) el 14/05/2008 21:38:07
Hola ..

tengo una consulta para ustedes..

tengo datos guardados en un matriz y quisiera guardarlos en un archivo.txt
buscando por ahi encontre la siguiente rutina..

> >A = rand(20, 5)
Luego abrimos el archivo salida.txt para escribir esta matriz A:
> >fi = fopen(’salida.txt, ’w’)
Luego recorremos cada elemento del arreglo por filas, al final de imprimir cada fila
se imprimirá un salto de línea, para dar la forma de matriz a la salida en el archivo:
> >for i:1:20
for j:1:5
fprintf(fi, ’ %f’, A(i,j))
end
fprintf(fi, ’ ’)
end
Por último cerramos el archivo salida.txt:
> >fclose(fi)

la probe pero los datos quedan guardados en la primera fila,
es decir aquello de generar un salto de linea no me resulta..

cual seria la forma correcta para que los datos de la matriz queden guardados en el archivo txt conservando la forma de la matriz original..??

agradecido de antemano...
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:guardar datos en archivo txt

Publicado por Kike (304 intervenciones) el 14/05/2008 22:59:33
Yo imprimiría fila por fila, y separaría las columnas con una tabulación.

A = rand(20, 5)

fi = fopen('salida.txt', 'w')

for k=1:20
fprintf(fi, '%f %f %f %f %f ', A(k,1),A(k,2),A(k,3),A(k,4),A(k,5));
end

fclose(fi)
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:guardar datos en archivo txt

Publicado por bodoque (19 intervenciones) el 15/05/2008 03:20:52
gracias kike por responder..

lo probé pero aun tengo el mismo problema ...
todos los datos quedan guardados en el archivo.txt en una fila
y lo que necesito es mantener la forma de la matriz..

estoy aprendiendo a utilizar matlab y no sé como utilizar la separación de columnas con una tabulación..

espero puedas ayudarme.....en cualquier caso te reitero mis agradecimientos...
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:guardar datos en archivo txt

Publicado por Kike (304 intervenciones) el 15/05/2008 19:48:51
Ya vi el error.
Lo que sucede es que el servidor de la web del programador no reconoce el backslash, que es el / inclinado al revés, y por eso no aparece ni la tabulación ni el salto de línea.

Te lo escribo de nuevo, y vas a sustituir el // por un backslah. La tabulación aparece como //t y el salto de línea aparece como //n en este código.


A = rand(20, 5)

fi = fopen('salida.txt', 'w')

for k=1:20
fprintf(fi, '%f//t%f//t%f//t%f//t%f//n', A(k,1),A(k,2),A(k,3),A(k,4),A(k,5));
end

fclose(fi)
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:guardar datos en archivo txt

Publicado por bodoque (19 intervenciones) el 16/05/2008 16:41:46
ok..muchas 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

RE:guardar datos en archivo txt

Publicado por carlos lago (1 intervención) el 18/10/2015 06:22:46
1
2
3
4
5
6
7
8
n=123456;
A = strvcat('xxxx','hola','mundo',num2str(n)) ;
 
text_tiket=fopen('tiket.txt','wt');
for i=1:4;
fprintf(text_tiket,['\n' A(i,:)]);
end
winopen('tiket.txt')
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:guardar datos en archivo txt

Publicado por Leticia (2 intervenciones) el 31/03/2017 19:00:02
Hola Kike!
Oye y en caso de ser una matriz de 500x1000 ... ¿cómo se puede abreviar la parte "fprintf(fi, '%f//t%f//t%f//t%f//t%f//n', A(k,1),A(k,2),A(k,3),A(k,4),A(k,5)); "?
Saludos y Gracias de antemano.
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:guardar datos en archivo txt

Publicado por Matias (1 intervención) el 27/05/2008 06:22:07
Te falta darle el salto de linea de forma manual. Osea, si queires hacer un "ENTER", deber poner:

fprintf(...,'tu texto ');

asi hay varias opciones

las mas tipicas son el salto de linea con y el tabulador

es identico a como se programa en C

Espero te sirva
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:guardar datos en archivo txt

Publicado por patoperez (3 intervenciones) el 31/07/2008 16:34:22
save 'c:/ruta donde quieres guradar el archivo/nombre_del_archivo.dat' nombre_de_lavariable_en_matlab -ASCII


guradará la variables en un archivo .dat, el cual es el que deseas, ya que este tipo de archivos es de tipo bloc de notas...

saludos
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:guardar datos en archivo txt

Publicado por juan (1 intervención) el 24/09/2009 22:52:19
Hola ando con un problema: resulta que necesito imprimir datos en un archivo txt.
entonces digamos que hago

1
2
3
4
5
6
7
8
flu=fopen( 'prueba.txt', ' w');
vectorA= [1.2323  1.23  3.456  4.5656  7.234]
 
for i = 1:4
 
fprintf( flu, '%6.2 f /n' , a(i));
 
end

Lo que quiero es un archivo txt con los datos de vectorA uno debajo del otro, pero al abrir el archivo aparecen los numeros de vectorA pero uno al lado del otro, separados por un "cuadradito", alguien puede ayudarme a solucionarlo?

Parece una tonteria, pero ese detalle me esta deteniendo un trabajo importante que debo terminar pronto.

Muchas 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

RE:guardar datos en archivo txt

Publicado por juvenil (1 intervención) el 14/03/2010 22:43:04
reemplaza esto

flu = fopen('prueba.txt','wt'); % 'wt' means "write text"

y veras que funciona.

Mas info en:

http://www.phon.ucl.ac.uk/courses/spsci/matlab/lect6.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

RE:guardar datos en archivo txt

Publicado por Catherine (1 intervención) el 27/06/2017 15:44:20
Reemplazando por 'wt' funcionó para mi, muchas 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

guardar datos en archivo txt

Publicado por Robles (1 intervención) el 26/09/2010 06:08:11
Hola que tal tambien tenia el mismo problema mira aca te paso el codigo con el cual llege a guardar mis datos en el formato deseado:

dlmwrite('salida.dat', a, 'delimiter', '\t', 'precision', '%.4f')

donde 'a' esla matriz que quiero guardar usa ese comoando bueno espero te sea util bye un abrazo
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:guardar datos en archivo txt

Publicado por carlos restrepo (2 intervenciones) el 07/10/2010 12:34:19
es mucho más facil de lo que piensa, prueba

save salida.txt A -ASCII -TABS
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:guardar datos en archivo txt

Publicado por carlos restrepo (2 intervenciones) el 07/10/2010 12:34:40
es mucho más facil de lo que piensa, prueba

save salida.txt A -ASCII -TABS
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:guardar datos en archivo txt

Publicado por ALEJANDRA (1 intervención) el 07/10/2014 19:01:31
Gracias, este funciona perfecto..
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:guardar datos en archivo txt

Publicado por alejandro reyes (1 intervención) el 13/12/2010 20:54:03
en donde quieres imprimir o guardar el salto de linea debes de mandar \n es decir fprintf('\n’)
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