Update plot on Axes in a Matlab GUI

6 views (last 30 days)
chef13
chef13 on 12 Aug 2013
Commented: ahasan ratul on 10 Apr 2018
Hi, I´m simulating a SIMULINK model and in this model I store some variables in the Worskspace.
I have a GUI and if AFTER the simulation I click on some buttons I have the plot of a certain variable.
An example of the plot of the 'Force' variable is this one:
% --- Executes on button press in plot_force_button.
function plot_force_button_Callback(hObject, eventdata, handles)
% hObject handle to plot_force_button (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
force = evalin('base', 'force');
axes(handles.axes7)
plot(force.time, force.signals.values,'r','LineWidth',2)
% xlabel('Time [s]')
ylabel('Force [N]')
grid on
title('Force Applied to the DE')
I would like to update the plot as the simulation runs.
I know it´s possible to do it with the Timer of MATLAB but I didn´t understand how :(.
Can you help me please?
Fab.

Answers (2)

David Sanchez
David Sanchez on 12 Aug 2013
Take a look at the drawnow command. You will need it to draw your plot as the simulation goes.
doc drawnow

chef13
chef13 on 12 Aug 2013
With drawnow it´s not working in real time!
I wrote in the run_button callback:
function run_button_Callback(hObject, eventdata, handles)
set_param('DEGREEN_Model_backup_3','SimulationCommand','start');
force = evalin('base', 'force');
axes(handles.axes7)
plot(force.time, force.signals.values,'r','LineWidth',2)
drawnow
% xlabel('Time [s]')
ylabel('Force [N]')
grid on
title('F_{ext} Applied to the DE')
But it is only drawing the last values stored in 'force' variable.
I´m quite sure that I have to use the timer objects but I have no clue how to do it!
  1 Comment
ahasan ratul
ahasan ratul on 10 Apr 2018
could you find the solution? I am having a same problem with drawnow command in a gui axes. don't know how to solve it.

Sign in to comment.

Categories

Find more on Troubleshooting in Simulink Real-Time in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!