我想将我的函数结果保存在文本文件中。可以在malab中使用以下方法完成:
使用Printf
fileID = fopen('testdata.txt', 'w');
fprintf(fileID, '%d %d %d\n', v);
fclose(fileID);
使用保存
save('testdata.txt', 'v', '-ascii');
但问题是使用两种方法,如果重复该功能,文件正在覆盖如何修复? 我需要10次运行的所有输出。
以下是一些例子: A%使用PRINTF v = [3 6 9];
>> fileID = fopen('testdata.txt', 'w');
fprintf(fileID, '%d %d %d\n', v);
fclose(fileID);
文件的输出(第1行):3 6 9
>> v= [1 2 3];
>> fileID = fopen('testdata.txt', 'w');
fprintf(fileID, '%d %d %d\n', v);
fclose(fileID);
文件的输出(第1行):1 2 3(文件被覆盖)
B%使用保存
>> save('testdata.txt', 'v', '-ascii');
文件的输出(第1行):1.0000000e + 000 2.0000000e + 000 3.0000000e + 000
>> v = [3 6 9];
>> save('testdata.txt', 'v', '-ascii');
文件的输出(第1行):3.0000000e + 000 6.0000000e + 000 9.0000000e + 000
**Printing N values**
上例中的V是3个条目:如果确实存在N个条目,有办法正确显示它们吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
以下是代码:
for i= 1:4;
fileID = fopen('testdata.txt', 'at');
fprintf(fileID, 'this is answer %d\n',i);
fprintf(fileID, '%5.3e\n', v{i});
fclose(fileID);
end
在记事本中回答:
this is answer 1
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
0.000e+000
1.000e+000
1.000e+000
1.000e+000
this is answer 2
1.000e+000
0.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
this is answer 3
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
0.000e+000
1.000e+000
1.000e+000
this is answer 4
1.000e+000
1.000e+000
1.000e+000
1.000e+000
0.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000
1.000e+000