1

我有多个数据数组,其中只有 x、y 和 z 数组需要导出为文本。我知道如何导出单个数组,但无法将 3 列数据导出为文本文件。请帮忙,我尝试了以下..

        fid = fopen('g.txt','w');
        fprintf(fid,'%f \n',x,y,z);
        fclose(fid);
4

2 回答 2

10

试试dlmwrite,例如:

x=[1:10]';
y=2*x;
z=3*x;
dlmwrite('g.txt',[x,y,z],'delimiter', '\t');


>type 'g.txt'

1   2   3
2   4   6
3   6   9
4   8   12
5   10  15
6   12  18
7   14  21
8   16  24
9   18  27
10  20  30
于 2013-01-18T07:23:44.043 回答
3

你不想分隔符写,你想要csvwrite. 它将在 Excel 和类似程序中很好地打开。

以下示例从矩阵 m 创建一个逗号分隔值文件。

m = [3 6 9 12 15; 5 10 15 20 25; ...
     7 14 21 28 35; 11 22 33 44 55];

csvwrite('csvlist.csv',m)
type csvlist.csv

3,6,9,12,15
5,10,15,20,25
7,14,21,28,35
11,22,33,44,55

http://www.mathworks.com/help/matlab/ref/csvwrite.html

于 2013-01-18T08:18:55.977 回答