matlab中矩阵的合并与导出
我有3个不同的矩阵,我正试图把它们编译成列矩阵,变成一个更大的矩阵。然后我需要将其保存到一个文本文件中,以便以后使用 矩阵是我刚才使用的b和c的随机值,它们与下面的矩阵不匹配,例如:matlab中矩阵的合并与导出,matlab,matrix,format,export,Matlab,Matrix,Format,Export,我有3个不同的矩阵,我正试图把它们编译成列矩阵,变成一个更大的矩阵。然后我需要将其保存到一个文本文件中,以便以后使用 矩阵是我刚才使用的b和c的随机值,它们与下面的矩阵不匹配,例如: a=[1957; 1977; 1982; 1984; 1993; 2000; 2007] b=[30903; 25696; 23976; 22622; 19250; 12398; 9299] c=[68; 56.542; 52.758; 49.778; 42.358 27.281; 20.462]
a=[1957; 1977; 1982; 1984; 1993; 2000; 2007]
b=[30903; 25696; 23976; 22622; 19250; 12398; 9299]
c=[68; 56.542; 52.758; 49.778; 42.358 27.281; 20.462]
我所做的是:
b=([a b c])
这给了我想要的矩阵
b =
1957 30903 68
1977 25696 56.542
1982 23976 52.758
1984 22622 49.778
1993 19250 42.358
2000 12398 27.281
2007 9299 20.462
但是,当我尝试使用以下命令将其保存为文本文件时:
fid = fopen('test.txt', 'w');
fprintf(fid, '%d %d %.2f\r\n',b);
fclose(fid);
列混合在一起,如下所示:
1957 1977 1982.00
1984 1993 2000.00
2007 30903 25696.00
23976 22622 19250.00
12398 9299 68.00
5.654234e+001 5.275760e+001 49.78
4.235835e+001 2.728098e+001 20.46
我能做些什么来保留我想要的格式 试试这个:
dlmwrite('filename.extn',b,'newline','pc');
如果要将矩阵详细信息附加到现有文件的内容,请使用“-append”。
希望这能奏效。使用这个-fprinffid,'%d%d%.3f\r\n',b';相反您需要转置b并使用%.3f。我想保留最多三位小数。我建议。'一般来说,不要使用厄米转置,否则它是正确的,matlab使用列向量。感谢大家的帮助!我已经在这上面呆了好几个小时了@patrik,这是共轭转置,如果我们知道数据中没有复数,应该没问题。但同意在一般情况下,增加一个。“有效。@Divakar嗯,至少在这种情况下是正确的,但我从不指望数据总是真实的。即使有时会出现这种情况,您也永远不知道何时需要重用代码。这就像在第一次控制后丢弃火车票一样。