How to save streaming data to Matlab workspace

25 views (last 30 days)
want2know
want2know on 18 Dec 2015
Commented: Renato Agurto on 18 Dec 2015
Hi,
I am trying to save real-time streaming data obtained from hardware to Matlab workspace, I use the following command: My issue is, it only saved the last set of data, but not all data.
To save all variables from the workspace in binary MAT-file, test.mat, type
save test.mat
When I tried with this
save('test.mat','-append'); ,
it makes my program halt, so I would like to know what is the correct way to achieve this?
Thank you.
  2 Comments
want2know
want2know on 18 Dec 2015
Thank you, yes you are right that they have same name and they are constantly overwritten, i did not get error message, I still get the file saved but i noticed that it only showed the latest set of data, what should I do to avoid this? I want it to save every set at each time step

Sign in to comment.

Answers (1)

Renato Agurto
Renato Agurto on 18 Dec 2015
Edited: Renato Agurto on 18 Dec 2015
Hi, I don't have experience in real-time streaming but I would try to have a counter (t = 1:100) and save the variable(s) in a cell. For example your variables are var1, var2,... var5 and they are overwritten every second.
Here will all data be stored in a big cell myVar
myVar{t} = {var1, var2, var3, var4, var5};
or append every new variable. Here you get 5 "big" variables: v1,v2,v3,v4 & v5
%initialize
v1 = [];
v2 = [];
v3 = [];
v4 = [];
v5 = [];
And at every second append the data:
v1 = [v1, var1];
v2 = [v2, var2];
...
  2 Comments
Renato Agurto
Renato Agurto on 18 Dec 2015
Hi. I tried to explain it better (see my edited answer).

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!