Clear Filters
Clear Filters

shift to left sequence

4 views (last 30 days)
HADIMARGO
HADIMARGO on 21 Oct 2020
Commented: Ameer Hamza on 21 Oct 2020
hi. i want to shift my sequence to left but there is a problem.
clc;
clear all;
close all;
% our domain in 11
n = 0:10;
x = cos (n*pi/12);
% shift x to left 2 unit
x2 = [x 0 0];
y = 2*x;
y2 = 2*x2;
d = y - y(-2:11-2);
% do should be = 0
stem (n,y2)
the problem is i can't enter a negative value to y(-2:9);
how can i change that line?
-------------------------------------------------------
errore:
Array indices must be positive integers or logical values.
Error in Untitled (line 14)
d = y - y(-2:11-2);
  1 Comment
David Hill
David Hill on 21 Oct 2020
I have no idea what you want to do. Please provide and example. [1 2 3 4] goes to what?

Sign in to comment.

Answers (1)

Ameer Hamza
Ameer Hamza on 21 Oct 2020
Edited: Ameer Hamza on 21 Oct 2020
n = 0:10;
x = cos (n*pi/12);
y = circshift(x, 2)
  3 Comments
HADIMARGO
HADIMARGO on 21 Oct 2020
also this is not my main problem.
my main problem is how to use y(-2:11-2); with that error.
Ameer Hamza
Ameer Hamza on 21 Oct 2020
Negative indexes are not supported in MATLAB like they do in python. MATLAB supports something like the following if that helps
n = 0:10;
x = cos (n*pi/12);
y = x([end-1:end 1:end-2])

Sign in to comment.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!