我想使用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]
你能帮助我得到我想要的结果吗?我实际上不知道该怎么做......
答案 0 :(得分:1)
您必须将a
和h
连接到一个数组中。否则,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])