How to plot function part by part?

1 Ansicht (letzte 30 Tage)
Faris Hajdarpasic
Faris Hajdarpasic am 16 Mär. 2019
Kommentiert: Walter Roberson am 17 Mär. 2019
So I want to set duration of plotting y=sin(t) to 10 seconds, but to plot it part by part every 2 seconds. So that means every 2 seconds plotting should be 'updated'.
I want to see how this work with basic function, because I want to apply it on plotting graph of winsound(sound card). It will also durate 10 seconds, and I need to update it every n seconds. So it is easier for me to see how this works on simple function such as sin(t). I hope you understood what I want to do, and I would be thankful if someone could solve my problem :)
  4 Kommentare
Walter Roberson
Walter Roberson am 17 Mär. 2019
outline:
while there is more to do
addpoints(....)
pause(2)
end
Faris Hajdarpasic
Faris Hajdarpasic am 17 Mär. 2019
But my action should be 10 seconds long. Is that what I should do in this "there is more to do"? I mean if duration is 10 seconds and every 2 sec I need to display part, I should run loop five times, and every time 1/5 of length should be displayed. Thats the point. So I can make it work like this?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 17 Mär. 2019
Bearbeitet: Walter Roberson am 17 Mär. 2019
duration = 10;
Fs = 20; %samples per second
secs_per_plot = 2;
data = randi([-5 5], 1, duration*Fs); %example data for illustration
t_cols = reshape((0:Fs*duration-1)/Fs, Fs*secs_per_plot, []);
data_cols = reshape(data, Fs*secs_per_plot, []);
%the work
h = animatedline();
for K = 1 : size(data_cols,2)
addpoints(h, t_cols(:,K), data_cols(:,K));
drawnow();
pause(secs_per_plot);
end
  6 Kommentare
Faris Hajdarpasic
Faris Hajdarpasic am 17 Mär. 2019
I have been trying for whole day, this is why I asked cuz i couldnt figure it out.But thanks anyway
Walter Roberson
Walter Roberson am 17 Mär. 2019
t_cols is already time in fraction of a second. Consider sin(2*pi*F*t) where F is the frequency of the sine wave and t is time in seconds.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by