将单元格数组写入文本文件中作为两列数据

时间:2014-03-31 18:01:52

标签: algorithm matlab

我有两个不同的变量存储为单元格数组。我尝试打开文本文件并将这些变量存储为两个列数组。下面是我的代码,我使用\ t来分隔x和y数据,但是在输出文件中,首先写入x数据,然后是y数据。如何在文本文件中获取两个列数组?

for j=1:size(data1,2)
    file1=['dir\' file(j,1).name];
    f1{j}=fopen(file1,'a+')
    fprintf(f1{j},'%7.3f\t%20.10f\n',x{1,j}',y{1,j});
    fclose(f1{j});
end

提前致谢!

2 个答案:

答案 0 :(得分:0)

如果您有R2013b或更高版本,请使用MATLAB表:

data1 = {'a','b','c'}'
data2 = {1, 2, 3}'
t = table(data1, data2)
writetable(t, 'data.csv')

更多信息here

答案 1 :(得分:0)

您也可以使用dlmwrite来完成数字数据:

x = [1;2;3]; y = [4;5;6]; % two column vectors
dlmwrite('foo.dat',{x,y},'Delimiter','\t')

这会产生输出:

1   4
2   5
3   6