2016-04-27 10 views
0

Ich versuche, Daten, in einer bestimmten Form formatiert, in eine Datei in Matlab zu schreiben. Das Format, das ich versuche zu erreichen, wie folgt aus:Schreiben in eine Datei in Matlab

00 : A4AD; 
02 : 9889; 
03 : 9888; 
04 : 9888; 
05 : A021; 

Dies ist das Format einer Datei MIF, wenn jemand interessiert ist, und ich brauche es, um ROM auf meinem DE2 FPGA-Board zu laden.

Zur Zeit habe ich in Matlab zwei Arrays der Größe m x n mit Zeichen gefüllt und ich muss diese Arrays nur in eine Datei im obigen Format schreiben. Grundsätzlich habe ich zwei Arrays A und B und möchte die Daten in diesen Arrays in eine Datei schreiben als A: B; wo die Elemente von A wie 00 sind und die Elemente von B wie AB03 sind.

Ich habe in der Lage gewesen, sich allein mit der dlmwrite Funktion ein einzelnes Array zu schreiben, etwa so:

dlmwrite('test.hex', Jhex, 'delimiter', '');

Das bin ich nur bekommt jeder Eintrag aus einem ein Array in einer einzigen Zeile in der Datei . Ich war einfach nicht in der Lage, beide Arrays im obigen Format zu schreiben. Wenn jemand einen Rat hat, wie das geht, würde ich es sehr schätzen.

+0

[ 'fprintf'] (http://www.mathworks.com/help/matlab/ref/fprintf.html) – excaza

+0

@excaza Ok, habe ich gesehen, fprintf aber Ist es ähnlich wie in C verwendet? Zum Beispiel sollte ich 'fprintf verwenden ('testfile.hex', '% s:% s; \ n', A, B)' – skippy130

+0

Ja, lesen Sie die Dokumentation ... – excaza

Antwort

0

Sie müssen es Zeile für Zeile schreiben. Entweder verwenden for Schleife oder arrayfun:

PrintLine = @(a,b) fprintf('testfile.hex', '%s : %s;\n', a, b); 
arrayfun(PrintLine,A,B);