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