我正在尝试将一些值写入文本文件。我附上了以下代码。
a =2 ;
b=3;
fName = 'C:\Users\XXX\Desktop\ddd.txt';
fid = fopen('ddd.txt','w');
for i=1:100
dlmwrite(fName,a,'-append');
dlmwrite(fName,b,'-append');
b=b*2;
a=2*a;
end
我希望用逗号分隔 a 和 b 的值。但我得到的所有值都没有任何分离。如何解决这个问题?
答案 0 :(得分:0)
您可以使用以逗号分隔的元素为文件写入矩阵:
csvwrite(filename,matrixname);
dlmwrite(filaname,matrixname);
但是,据我所知,在最后一个元素之后无法添加逗号。对于您的情况,您可以将a
和b
作为2个不同矩阵的元素。在循环中,生成每个矩阵的元素。然后在循环外写dlmwrite
的每个矩阵。
或者,您可以将fprintf
用于文件的单个逗号。
fprintf(" , ");
答案 1 :(得分:0)
如果你想编写逗号分隔的文件,同时对当前的for循环方法进行最小的修改,这是我能想到的一种方式:
a =2 ;
b=3;
fName = 'ddd.txt';
fid = fopen('ddd.txt','a');
for i=1:100
fprintf(fid,'%d,%d',a,b);
b=b*2;
a=2*a;
if i~=100
fprintf(fid,',');
end
end
不过,我会说填充一个数组,其中包含所需的a
和b
值 - 在您的情况下为100个值 - 然后使用csvwrite
或dlmwrite
提到在上一个答案中。