Plot like a "scope" block
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, my question :
Can I use plot to watch a curve like a scope block do when you put 'scope parameters' sampling to 'Sample time' and no to 'decimal' ?
Thanks !
0 commentaires
Réponse acceptée
Plus de réponses (3)
Paulo Silva
le 13 Mai 2011
Answer edited, looking better at the scope it looks like it does something like the ZOH block does, maybe this code can help you:
Ts1=0.01; %sampling time in seconds of the measured signal
%if you don't know Ts1 do Ts1=t(2)-t(1)
t=0:Ts1:10;
f=@(x)sin(x); %function that generates the signal
s=f(t);
Ts=0.1; %sampling time in seconds of your sampling (Ts must be bigger than Ts1)
sss=cell2mat(arrayfun(@(x)repmat(s(x),1,fix(Ts/Ts1)),1:fix(Ts/Ts1):numel(s),'uni',false));
clf
hold on
plot(t,s)
plot(t,sss(1:numel(t)),'r')
legend('signal',['signal sampled at ' num2str(Ts) ' seconds'])
![](https://www.mathworks.com/matlabcentral/images/broken_image.png)
Example that I wrote but it doesn't do the same as the scope:
t=0:0.01:10;
f=@(x)sin(x); %function that generates the signal
s=f(t);
Ts=1; %sampling time in seconds
tsamp=0:Ts:10;
ssamp=f(tsamp);
clf
hold on
plot(t,s)
plot(tsamp,ssamp,'r')
legend('signal',['signal sampled at ' num2str(Ts) ' seconds'])
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!