Я пытаюсь создать текстовый файл с содержимым массива ячеек. Ниже представлен MWE. Когда я использую fprintf
без аргумента файла (чтобы просто печатать в командном окне, например, fprintf(['\t\\hline ',repmat('%s & ',1,size(A,1)),'\b\b','\\\\','\n'],A{:})
), код работает просто отлично. Однако, когда я открываю файл с fopen
и пытаюсь написать в него то же самое, двойной возврат (\b\b
) не работает.
MWE:
A = num2cell(rand(3,3));
fid = fopen('test.txt','w');
fprintf(fid,['\t\\hline ',repmat('%s & ',1,size(A,1)),'\b\b','\\\\','\n'],A{:})
Что я получаю в командном окне:
\hline 7.922073e-01 & 9.594924e-01 & 6.557407e-01 \\
\hline 3.571168e-02 & 8.491293e-01 & 9.339932e-01 \\
\hline 6.787352e-01 & 7.577401e-01 & 7.431325e-01 \\
Что я получаю в файле test.txt:
\hline 7.922073e-01 & 9.594924e-01 & 6.557407e-01 & \\
\hline 3.571168e-02 & 8.491293e-01 & 9.339932e-01 & \\
\hline 6.787352e-01 & 7.577401e-01 & 7.431325e-01 & \\
И при вставке содержимого «test.txt» в этот вопрос вместо того, чтобы отображаться точно так, как они выглядят в файле .txt, некоторые поля появлялись там, где должны были быть применены пробелы (рисунок ниже). Как я могу заставить работать пробелы и удалить &
в файле .txt?
A
является числом с плавающей запятой, вы должны использовать%f
вместо%s
- person rahnema1   schedule 26.09.2017