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

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 comentario

Jan
Jan el 31 de Mzo. de 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.

Iniciar sesión para comentar.

 Respuesta aceptada

Paulo Silva
Paulo Silva el 31 de Mzo. de 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 comentarios

Negar
Negar el 31 de Mzo. de 2011
Thanks a lot Paulo, it works; But could you please explain to me what this line in your code is?
y=[ones(1,d)*nan y(1:end-d)];
Paulo Silva
Paulo Silva el 31 de Mzo. de 2011
ones(1,d) creates a vector with just a row and d columns, all values are ones, nan values are not plotted by plot so the code inserts those nan just to fill the first d values, y(1:end-d) removes d elements from the end of y, this is needed so the number of elements of y are equal to the number of elements of x, plot(x,y) requires that in order to work properly.
Jan
Jan el 31 de Mzo. de 2011
"nan(1, d)" is nicer and faster than "ones(1, d)*nan".
Negar
Negar el 31 de Mzo. de 2011
Thanks a lot :)
Amit Aryal
Amit Aryal el 27 de Mzo. de 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!

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Preguntada:

el 31 de Mzo. de 2011

Comentada:

el 27 de Mzo. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by