matlab中矩阵的合并与导出

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]

我有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]
我所做的是:

 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嗯,至少在这种情况下是正确的,但我从不指望数据总是真实的。即使有时会出现这种情况,您也永远不知道何时需要重用代码。这就像在第一次控制后丢弃火车票一样。