Как я могу добавить свои строки в таблицу для непрерывной записи моих данных с помощью MATLAB? - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть две программы. один читает некоторые данные с робота 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

Результат найден на этой картинке. Как я могу сделать это для хранения построчно? ДАННЫЕ, ПИСАННЫЕ НА ФАЙЛ CSV

1 Ответ

0 голосов
/ 24 апреля 2018

Вместо записи используйте dlmwrite и просто введите свои данные в виде матрицы.Важным битом является '-append', иначе он будет просто перезаписывать столбец 1 так же, как и для writetable.

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

Разделителем по умолчанию является ',' поэтому вам не нужно об этом беспокоиться.Хотя вы можете установить разделитель в функции dlmwrite, если захотите.

...