Matlab 将矩阵写入文件时包含表头
我使用Matlab 将矩阵写入文件时包含表头,matlab,file-writing,Matlab,File Writing,我使用dlmwrite将Matlab中的矩阵写入文件: A = [1,2,3; 4,5,6; 7,8,9]; dlmwrite('output.txt', A, 'delimiter','\t'); 这给了我这个output.txt: 1 2 3 4 5 6 7 8 9 现在,我想添加一个标题以获得以下结果: columnA columnB columnC 1
dlmwrite
将Matlab中的矩阵写入文件:
A = [1,2,3;
4,5,6;
7,8,9];
dlmwrite('output.txt', A, 'delimiter','\t');
这给了我这个output.txt
:
1 2 3
4 5 6
7 8 9
现在,我想添加一个标题以获得以下结果:
columnA columnB columnC
1 2 3
4 5 6
7 8 9
我怎样才能做到这一点
Headers = ['columnA', 'columnB', 'columnC'];
dlmwrite('output.txt', Headers, 'delimiter','\t');
A = [1,2,3; 4,5,6; 7,8,9];
dlmwrite('output.txt', A, 'delimiter','\t','-append');
使用参数'-append'
使dlmwrite
将所有内容粘贴到现有文件的末尾。这样,第一个dlmwrite
在文件中写入头,第二个dlmwrite
在同一文件中写入头下方的矩阵
使用参数'-append'
使dlmwrite
将所有内容粘贴到现有文件的末尾。这样,第一个dlmwrite
在文件中写入头,第二个dlmwrite
在同一个文件中写入头下方的矩阵。在此基础上,我找到了以下解决方案:
A = [1,2,3; 4,5,6; 7,8,9];
out = fopen('output.txt','w');
fprintf(out,['ColumnA', '\t', 'ColumnB', '\t', 'ColumnC', '\n']);
fclose(out);
dlmwrite('output.txt', A, 'delimiter','\t','-append');
在此基础上,我找到了以下解决方案:
A = [1,2,3; 4,5,6; 7,8,9];
out = fopen('output.txt','w');
fprintf(out,['ColumnA', '\t', 'ColumnB', '\t', 'ColumnC', '\n']);
fclose(out);
dlmwrite('output.txt', A, 'delimiter','\t','-append');
这是一个很好的方法,但是您可能还想看看表数据类型,这是一个很好的方法,但是您可能还想看看表数据类型,您建议的代码给出了以下结果c o l u m n a c o l u m n B c o l u m n c 1 2 3 4 5 6 7 8 9头的每个字符之间都有一个分隔符。我忘记了逗号。可以尝试Headers=['columnA','columnB','columnC'];或标题={'columnA','columnB','columnC'};我不确定第二个(单元结构)是否正确写入,但它可能会工作。当我使用逗号或大括号时,每个字符之间仍然有分隔符。
dlmwrite
用于数字数据,并将每个索引视为单独的值fprintf
是更合适的选择。您建议的代码给了我以下结果c o l u m n A c o l u m n B c o l u m n c 1 2 3 4 5 6 7 8 9头的每个字符之间都有一个分隔符。我忘记了逗号。可以尝试Headers=['columnA','columnB','columnC'];或标题={'columnA','columnB','columnC'};我不确定第二个(单元结构)是否正确写入,但它可能会工作。当我使用逗号或大括号时,每个字符之间仍然有分隔符。dlmwrite
用于数字数据,并将每个索引视为单独的值fprintf
是更合适的选择。很好的解决方案,效果很好!请注意,通过在fclose
之前插入fprintf(out[repmat(['%f\t'],1,length(A)),'\n'],A.)
可以避免使用dlmwrite
。很好的解决方案,效果很好!注意,通过在fclose
之前插入fprintf(out[repmat(['%f\t'],1,length(A)),'\n'],A.)
可以避免使用dlmwrite
。