2016-04-27 2 views
0

Я пытаюсь записать данные, отформатированные определенным образом, в файл в Matlab. Формат, который я пытаюсь добиться, как это:Написание файла в Matlab

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

Это формат файла .mif, если кому-то интересно, и мне нужно, чтобы загрузить диск на моей плате DE2 FPGA.

В настоящее время в 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); 
Смежные вопросы