将matlab文件导出到带分隔符的txt文件

export matlab file to txt file with delimiter

我有 2 个名为 t 和 f 的列向量,如下所示:

t=
1
2
3
4
5

f=
10
20
30
40
50

我想制作一个如下所示的 txt 文件:

1,10
2,20
3,30
4,40
5,50

我尝试了下一个代码,但到目前为止没有任何效果:

vec_char=char(44*ones(1,length(t)))'; %vector of comma's

filename=fopen('functiondata.txt','w');
formatspec='%d %s %d\n';
data={t,vec_char,f};
[nrows,ncols]=size(data);

for row=1:nrows
    fprintf(filename,formatspec,data{row,:});
end
fclose(filename);

如果有更好的事情做就好了。

我强烈建议您使用 dlmwrite。这需要一个矩阵以及您要写入的文件的名称并将其写入文件。分隔数字的默认分隔符是逗号,这是你想要的。

试试这个:

t = (1:5).'; f = (10:10:50).'; %// Your data
dlmwrite('functiondata.txt', [t f]);

打开 functiondata.txt,我们得到:

1,10
2,20
3,30
4,40
5,50

备注

如果您使用Windows,调用dlmwrite时换行符将无法正确输入。调用 dlmwrite:

时需要特别说明
dlmwrite('functiondata.txt', [t f], 'newline', 'pc');