How to plot function part by part?
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Faris Hajdarpasic
le 16 Mar 2019
Commenté : Walter Roberson
le 17 Mar 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 commentaires
Walter Roberson
le 17 Mar 2019
outline:
while there is more to do
addpoints(....)
pause(2)
end
Réponse acceptée
Walter Roberson
le 17 Mar 2019
Modifié(e) : Walter Roberson
le 17 Mar 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 commentaires
Walter Roberson
le 17 Mar 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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Graphics Performance dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!