You can use the Simulation Data Inspector programmatic interface to specify the position of cursors on time plots or sparklines and to access the time that corresponds to the current cursor position.
Open the session file vdp_mu.mldatx
to add and plot data in the Simulation Data Inspector. The session file contains data for a 20-second simulation of a model of the Van Der Pol equation, with signals x1
and x2
plotted on separate subplots in a 2
-by-1
subplot layout.
Use the Simulink.sdi.setNumCursors
function to add one cursor to the plot.
Suppose you want to know the signal values 5 seconds into the simulation. Use the Simulink.sdi.setCursorPositions
function to move the cursor to t=5s
and read the signal values off from the cursor on each subplot. The asterisk next to the value in the cursor label indicates that the value is interpolated because the simulation did not include a calculation for a simulation time of exactly 5s
.
Suppose you want to calculate the time between two peaks in the x2
signal. Add a second cursor using the Simulink.sdi.setNumCursors
function or using the Show/hide data cursors button in the Simulation Data Inspector.
Drag the cursors so the left cursor is positioned at the first peak in the x2
signal and the right cursor is positioned at the second peak. Alternatively, run this code that positions the cursors for you.
The Simulation Data Inspector displays the difference between the two cursors in seconds. However, the cursor position and difference values are both rounded. Use the Simulink.sdi.getCursorPositions
function to programmatically retrieve the exact time values that correspond to the cursor positions. Then, compute the difference between the times.