在matlab中组合和导出矩阵

时间:2014-05-21 06:25:50

标签: 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]

我所做的是:

 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

如何保留我想要的格式?

1 个答案:

答案 0 :(得分:0)

试试这个:

dlmwrite('filename.extn',b,'newline','pc');

如果要将矩阵详细信息附加到现有文件的内容,请使用“-append”。 希望这有效。