2010-08-23 19 views
13

Tengo una matriz 2D myMatrix de enteros que deseo guardar su contenido en un archivo de texto. Hice lo siguiente:¿Cómo guardo una matriz de enteros en un archivo de texto en Matlab?

save myFile.txt myMatrix -ASCII 

me sale este mensaje:

Advertencia: Se ha intentado escribir un tipo de datos no soportado en un archivo ASCII. Variable 'myMatrix' no escrita en el archivo. y nada está escrito.

¿Qué hacer?

Respuesta

20

Para escribir myMatrix a miArchivo.txt:

dlmwrite('myFile.txt', myMatrix); 

Para leer el archivo en una nueva matriz:

newMatrix = dlmread('myFile.txt'); 
2

Tiene que convertir su matriz en doble antes de usar guardar.

>> myMatrix2 = double(myMatrix); 
>> save myFile.txt myMatrix2 -ASCII 
+0

A) la primera línea me da 'Fuera de memory'. B) File 'myFile.txt' tiene entradas como' 4.2280000e + 03', me gustaría '4228' –

+0

Puede intentar usar single en lugar de double. Pero recomendaría que utilizas el método dado por snakile, es mucho mejor. Una alternativa sería usar la función fprintf, allí también puede especificar el formato de la salida. – Ghaul

-1

Basándose en snakile's earlier answer: escribir myMatrix a miArchivo.txt, utilizando CR/LF como terminador de línea ('pc'); de lo contrario, debe usar LF ('unix'):

dlmwrite('myFile.txt', myMatrix,'newline','pc'); 

Para leer el archivo en una nueva matriz:

newMatrix = dlmread('myFile.txt'); 
Cuestiones relacionadas