我正在多次执行模拟,并希望将结果存储在csv文件中。
我可以将结果保存在数组中并将数组写入csv,但是数组会非常大并且对我的系统造成很大压力。
我认为可以更容易模拟,在csv中保存一个模拟的结果,完成新的模拟,然后将新结果存储在csv的第二行。
如何在matlab中逐一编写csv行?
答案 0 :(得分:3)
简单,使用:dlmwrite(filename,M,' - append')
例如:
simulation_results = [1,2,3,4]
dlmwrite('C:\<Your Directory Path>\simulaton_results.csv', simulation_results, '-append');
这会将simulation_results矩阵附加到您指定的文件的末尾。默认分隔符是逗号...非常适合编写csv文件。
答案 1 :(得分:1)
试试fprintf
%save to file
%save using fprintf function
fid_out = fopen('file_out.csv','w'); %open file and create fid
%save tab-separated column headers
%define column format and names and save to file
fprintf(fid_out,'%s\t%s\t%s\t%s\n','a_name','b_name','c_name','d_name');
%save tab-separated columns of data
for i = 1:size(data,1) %loop trough each line of each data variable and save to file line by line
%define column format and date to be saved.
%use () for numeric data, and {} for strings
fprintf(fid_out,'%s\t%s\t%d\t%.5f\n',a{i},b{i},c(i),d(i));
end
fclose(fid_out); %close file
%NOTE: fprintf cannot save structured data