将数据导出到同一CSV文件,以便多次运行.m文件

时间:2016-04-18 04:52:23

标签: matlab csv

我正在运行一个MATLAB程序并将结果存储在两个矩阵中。对于程序的每次运行,这些矩阵都写入相同的.csv文件。

如何继续将数据存储到同一文件中以便将来运行该程序?是否有一个函数检查已存在的数据以避免覆盖单元格?

t = 0.0001*[0:70];

v = B_2*R_R.*exp(-alpha.*t).*sin(omega_d.*t);

tv = [t; v].';

csvwrite('thedata.csv',tv,3,0)

1 个答案:

答案 0 :(得分:1)

我无法拒绝重写您的代码。

这应该等同于你所拥有的,并将两个向量打印到thedata.csv

t = 0.0001*[0:70];
v = B_2*R_R.*exp(-alpha.*t).*sin(omega_d.*t);

tv = [t; v].';

csvwrite('thedata.csv',tv,3,0)

由于存储csv文件的方式,您只能在文件末尾附加数据,这恰好是底行,而不是最后一列。您应该做的是在写入csv文件之前连接所有数据。这样您就可以避免多次调用csvwritedlmwrite(它们非常耗时)。

如果那是不可能的,那么我建议使用csvread从csv文件中读取数据,将新数据附加到您检索的数据,然后再将其全部写回来。

csvwrite('thedata.csv',tv)
mydata = csvread('thedata.csv');
mydata2 = [mydata, tv2];
csvwrite('thedata.csv',mydata2)