如何在表格中附加行以使用MATLAB连续记录我的数据?

时间:2018-04-24 11:22:29

标签: matlab matlab-table

我有两个程序。一个是从UR5机器人读取一些数据,另一个是从传感器读取数据。当我执行一些工业任务时,我需要将这些数据收集到表中。

我能够为每个程序分别生成表,但我需要创建一个调用函数的MAIN程序,并将这些表组合在一起。现在我只得到了我需要的一行。以下是我的主要计划:

idleForces = Thesis_calibration();
Time_Stamp = [];
while (true)
timestring = datestr(now,'HH:MM:SS.FFF');
[~,~,~,hours,minutes,seconds] = datevec(timestring);
time_ms = 1000*(3600*hours + 60*minutes + seconds);

measuredForces = Thesis_acquisition();
ur5Data = UR5_CLIENT_new();
Forces = minus(measuredForces,idleForces);

Row = table(time_ms,ur5Data);
Force = table(Forces);
writetable(Row,'robotdata.csv','Delimiter',',')

pause(0.01);
end

此图片中包含输出。如何逐行存储? DATA WRITTEN TO THE CSV FILE

1 个答案:

答案 0 :(得分:1)

而不是可写入使用dlmwrite而只是输入您的数据作为矩阵。重要的是' -append'或者它只会像使用writetable一样覆盖第1列。

newRow = [time_ms,ur5Data];
dlmwrite('robotdata.csv',newRow,'-append');

默认分隔符是','所以你不必担心这一点。虽然您可以选择在dlmwrite函数中设置分隔符。