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

时间:2015-06-24 21:15:17

标签: matlab text export

我有两个名为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);

如果有更好的事情可做,那就太好了。

1 个答案:

答案 0 :(得分:1)

我强烈建议您使用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');