我有两个名为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);
如果有更好的事情可做,那就太好了。
答案 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');