shift to left sequence
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
David Hill
2020-10-21
I have no idea what you want to do. Please provide and example. [1 2 3 4] goes to what?
回答(1 个)
Ameer Hamza
2020-10-21
编辑:Ameer Hamza
2020-10-21
n = 0:10;
x = cos (n*pi/12);
y = circshift(x, 2)
3 个评论
Ameer Hamza
2020-10-21
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])
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!