2010-08-23 2 views
13

Ich habe eine 2D-Matrix myMatrix von ganzen Zahlen, die ich ihren Inhalt in eine Textdatei speichern möchte. Ich habe folgendes:Wie speichere ich eine Matrix von Ganzzahlen in eine Textdatei in Matlab?

save myFile.txt myMatrix -ASCII 

ich diese Meldung:

Warnung: Der Versuch, einen nicht unterstützten Datentyp in eine ASCII-Datei zu schreiben. Variable 'myMatrix' nicht in Datei geschrieben. und nichts wird geschrieben.

Was ist zu tun?

Antwort

20

Um myMatrix zu MYFILE.TXT schreiben:

dlmwrite('myFile.txt', myMatrix); 

die Datei in eine neue Matrix zu lesen:

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

Sie müssen Ihre Matrix vor der Speicherung in Double konvertieren.

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

A) die erste Zeile gibt mir 'Aus memory'. B) Datei 'myFile.txt' hat Einträge wie' 4.2280000e + 03', ich möchte '4228' –

+0

Sie können versuchen, Single anstelle von Double zu verwenden. Aber ich würde empfehlen, dass Sie die Methode verwenden, die von snakile gegeben wird, es ist viel besser. Eine Alternative wäre die Verwendung der Funktion fprintf, in der Sie auch das Format der Ausgabe angeben können. – Ghaul

-1

Aufbauend auf snakile's earlier answer: myMatrix zu MYFILE.TXT zu schreiben, Verwenden Sie CR/LF als Leitungsabschluss ('pc'), andernfalls sollten Sie LF ('unix') verwenden:

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

Um die Datei in eine neue Matrix zu lesen:

newMatrix = dlmread('myFile.txt');