1

我有一个矩阵(输入)并希望将其导出为文本文件(输出),因此,我在 matlab 中使用以下代码:

save('out.txt', 'input', '-ASCII');

我的问题是如何为其标题插入例如 3 行(如下)?我不想在另一个程序中打开 output.txt 文件,因为 output.txt 的大小非常大,没有可用的软件可以打开它。因此,我想直接在matlab中执行此操作。

These data set are...
It is created by
2013
4

1 回答 1

2

我认为你不能只使用save函数来做到这一点。快速,我可以看到两个可能有用的选项。

首先。创建一个带有标题的文件,然后使用save选项-append

input = rand(5);
header = ['These data set are It is created by 2013'];

fileID = fopen('out.txt','w');
fprintf(fileID,'%s\n', header);
fclose(fileID);

save('out.txt', 'input', '-ASCII', '-append'); 

第二。不要使用保存,而是手动使用fprintf来编写所有内容:

input = rand(5);
header = ['These data set are It is created by 2013'];

fileID = fopen('out.txt','w');
fprintf(fileID,'%s\n', header);
fprintf(fileID,[repmat('%f ', [1, size(input, 2)]),'\n'], input);
fclose(fileID);

如果你想要多行标题,你可以这样做:

header = ['These data set are ...\nIt is created by\n2013'];


fileID = fopen('out.txt','w');
fprintf(fileID, [header, '\n']);
fprintf(fileID,[repmat('%f ', [1, size(input, 2)]),'\n'], input);
fclose(fileID);
于 2013-08-09T05:25:51.180 回答