shift to left sequence

5 ビュー (過去 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 Center および File ExchangeCharacters and Strings についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by