Plot like a "scope" block

2 次查看(过去 30 天)
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 !

采纳的回答

Sébastien Malengé
I find my happiness with stairs ! (and not plot...)
Thanks.

更多回答(3 个)

Paulo Silva
Paulo Silva 2011-5-13
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'])
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'])
  1 个评论
Sébastien Malengé
In my case, I have a problem with the length of my curve, I can't use your code if the length is different, so that doesn't work...

请先登录,再进行评论。


Sébastien Malengé
In my case, I don't have a function like you, I just have a curve in a variable, so where I suppose to put my curve in the code ? Thanks by the way.
  1 个评论
Arnaud Miege
Arnaud Miege 2011-5-16
The function is just there to generate the data, you can ignore it.

请先登录,再进行评论。


Arnaud Miege
Arnaud Miege 2011-5-16
You can also use simplot.
HTH
Arnaud

Community Treasure Hunt

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

Start Hunting!

Translated by