shift to left sequence

4 次查看(过去 30 天)
HADIMARGO
HADIMARGO 2020-10-21
评论: Ameer Hamza 2020-10-21
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
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
Ameer Hamza 2020-10-21
编辑:Ameer Hamza 2020-10-21
n = 0:10;
x = cos (n*pi/12);
y = circshift(x, 2)
  3 个评论
HADIMARGO
HADIMARGO 2020-10-21
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 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 CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by