Plot like a "scope" block

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 个投票

I find my happiness with stairs ! (and not plot...)
Thanks.

更多回答(3 个)

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 个评论

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...

请先登录,再进行评论。

0 个投票

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 个评论

The function is just there to generate the data, you can ignore it.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by