2016-04-27 45 views
0

我想寫一個數據,以特定的方式格式化到Matlab中的文件。我想要實現的格式是這樣的:寫在Matlab中的文件

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

這是一個.mif文件的格式,如果有人有興趣,我需要它,以加載在我的DE2 FPGA板ROM。

目前在Matlab中,我有兩個大小爲m x n的數組,填充字符,我只需要將這些數組寫入上述格式的文件。基本上我有兩個數組A和B,並且我想將這些數組中的數據寫入文件A:B; A的元素像00,B的元素像AB03。

我已經能夠通過自身使用dlmwrite函數寫一個單一的陣列,像這樣:

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

這只是讓我從一個陣列上的單行文件中的每個條目。我只是無法用上面的格式寫出兩個數組。如果有人對如何解決這個問題有什麼建議,我會很感激。

+0

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

+0

@excaza好吧,我已經看到了,但fprintf中在C中使用類似嗎?例如,我應該使用 'fprintf('testfile.hex','%s:%s; \ n',A,B)' – skippy130

+0

是的,閱讀文檔... – excaza

回答

0

您需要一次寫一行。要麼使用for循環或arrayfun

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