按列将数字写入文件

时间:2015-10-06 11:49:49

标签: matlab

我想使用MATLAB将两个数字向量写入文件并获得如下结果:

  0 ; [    0]
  1 ; [    1]
  2 ; [    2]
  3 ; [    3]
 ...; [  ...]

我尝试并获得了该代码:

h=[0:1:100];

a=[0:1:100];

formatSpec = '%3d ; [%5d]\r\n';

fileID = fopen('Write_in_file.txt', 'w');

fprintf(fileID,formatSpec,h,a)

不幸的是,这是我的代码的结果:

  0 ; [    1]
  2 ; [    3]
  4 ; [    5]
  6 ; [    7]

你能帮助我得到我想要的结果吗?我实际上不知道该怎么做......

1 个答案:

答案 0 :(得分:1)

您必须将ah连接到一个数组中。否则,fprintf将首先遍历所有h个数字,然后遍历a的所有数字。由于MATLAB按列采用值,因此需要确保向量如下所示:

0    1    2    3    ...
0    1    2    3    ...

可以使用[h;a]完成。所以,只需致电

h=[0:1:100];
a=[0:1:100];
formatSpec = '%3d ; [%5d]\r\n';

fileID = fopen('Write_in_file.txt', 'w');
fprintf(fileID,formatSpec,[h;a])