MATLAB: Is there a way to link plots to simscape log data / simscape results explorer data

link plotMATLABSimscapesimscape results explorersimulink

When you enable data logging for simscape, you can browse all simulation data using the simscape results explorer.
After selecting sveral data nodes, it is possible to "extract current plot into new figure window". I would like to customize my figure and link it to the simulation data but cannot figure out how.
Simlog won't show up as data source and there is also no auto-linking in the data source dialogue.
Any idea or help?

Best Answer

You may access everything in simlog through MATLAB base workspace. This documentation page includes some basic functions to access and plot the logged data: https://www.mathworks.com/help/physmod/simscape/ug/log-and-plot-simulation-data.html
To take it one step further, you can extract the time and value (in any reasonable unit you wish) of a simlog signal series, and use them as base workspace variables. Then you can "hold on" and plot several of them together.
The "time" and "values" functions/methods of the series will give you the access you need.
Some pseudo-code:
% run some simulation first
t = time(simlog.motor.w.series); % all signal should have the same time stamps
v1 = values(simlog.motor.w.series,'rpm'); % specify unit
v2 = values(simlog.motor.v.series); % default unit
figure(1); clf;
hold on;
plot(t,v1);
plot(t,v2);
I believe you can also do
t = simlog.motor.w.series.time;
v1 = simlog.motor.w.series.values('rpm')
Related Question