将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');
我有 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');