how can I shift a discrete signal (in vector form) on the x axis?

2 views (last 30 days)
By having the following graph how can i write a function to simulate the shift of the hole set of values to the left or the right of the graph?

Accepted Answer

Star Strider
Star Strider on 8 Aug 2019
Add or subtract from the ‘x’ values:
x = 1:11;
y = 10:-1:0;
figure
subplot(3,1,1)
stem(x, y) % Original
xlim([-5 15])
title('Original')
subplot(3,1,2)
stem(x-3, y) % Shift Left By 3
xlim([-5 15])
title('Shift left by 3')
subplot(3,1,3)
stem(x+3, y) % Shift Right By 3
xlim([-5 15])
title('Shift right by 3')
how can I shift a discrete signal (in vector form) on the x axis.png

More Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 8 Aug 2019
Edited: Voss on 30 Oct 2024
What you are trying is unclear. Is this one? Anyways shifting the x values, you can do it multiple ways, here one way
function shift_plot()
n=input('Enter 1 for left or any other number for right ')
x_data=[1:0.5:10];
y_data=[10:-1:1];
if n==1
stem(x_data(1:10),y_data);
else
stem(x_data(end-9:end),y_data);
end
xlim([0 10]);
end
Command Window
Enter 1 for left or any other number for right 5
n =
5
>> shift_plot()
Enter 1 for left or any other number for right 1
n =
1

Community Treasure Hunt

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

Start Hunting!