I have to plot all the signals in one figure

3 views (last 30 days)
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
load sampleEEGdata
time = -1:1/EEG.srate:1;
step=(2+30)/5;
for f=2:step:30
% create sine wave
sine_wave = cos(2*pi*f.*time);
% make a Gaussian
s=4/(2*pi*f);
gaussian_win = exp(-time.^2./(2*s^2));
figure
plot(time,sine_wave.*gaussian_win)
hold on
end
guidata(hObject, handles);
  4 Comments
Abdurrehman
Abdurrehman on 29 Sep 2018
Your code is not readablereadable please use"code" in MATLAB Answers text editor
Abdurrehman
Abdurrehman on 29 Sep 2018
For plotting instead of writing figure define figure no and then plot e.g. figure(2)

Sign in to comment.

Answers (1)

JohnGalt
JohnGalt on 1 Oct 2018
if you want a new window for every for-loop try:
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
load sampleEEGdata
time = -1:1/EEG.srate:1;
step=(2+30)/5;
figure % create the figure window
hold on
for f=2:step:30
% create sine wave
sine_wave = cos(2*pi*f.*time);
% make a Gaussian
s=4/(2*pi*f);
gaussian_win = exp(-time.^2./(2*s^2));
plot(time,sine_wave.*gaussian_win)
end
guidata(hObject, handles);

Community Treasure Hunt

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

Start Hunting!