Update plot on Axes in a Matlab GUI

3 Ansichten (letzte 30 Tage)
chef13
chef13 am 12 Aug. 2013
Kommentiert: ahasan ratul am 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.

Antworten (2)

David Sanchez
David Sanchez am 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 am 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 Kommentar
ahasan ratul
ahasan ratul am 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Troubleshooting in Simulink Real-Time finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by