How to plot a time-delayed ersion of a signal ??

1 visualizzazione (ultimi 30 giorni)
cananyone tell me how to plot the time-delayed version of a signal ?
Imagine the simplest case, y=cos(x), I want to delay it by 2 units. But I get some strange results!
clc ; clear all; close all x=(0.00001:0.01:2)*pi; y=cos(x); plot(x,y) hold on [Nrow Ncol]=size(y); m=2; % Delay step z=zeros([Nrow Ncol]); for i=3:Ncol-m j=i-m; z(i,1)=y(j,1);
end plot(z,'r')
  1 Commento
Jan
Jan il 31 Mar 2011
Please use code formatting to improve the readability of the code.
"Some strange results" is a vague description only. It is always a good idea to describe the results with as much details as needed to solve the problem.

Accedi per commentare.

Risposta accettata

Paulo Silva
Paulo Silva il 31 Mar 2011
x=0:0.01:2*pi
y=cos(x)
plot(x,y)
hold on
d=2;
y=[ones(1,d)*nan y(1:end-d)];
plot(x,y,'r')
legend('signal',['delayed signal by' num2str(d) 'units'])
  5 Commenti
Negar
Negar il 31 Mar 2011
Thanks a lot :)
Amit Aryal
Amit Aryal il 27 Mar 2015
x=0:0.01:2*pi y=cos(x) plot(x,y) hold on d=2; y=[ones(1,d)*nan y(1:end-d)]; plot(x,y,'r') legend('signal',['delayed signal by' num2str(d) 'units'])
I tried the above code but no delay signal produced. Both signals superimposed one on top of another!

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by