Массив сдвига MATLAB

  1. Сдвинуть массив с помощью функции circshift() в MATLAB
  2. Сдвинуть массив, используя индексы массива в MATLAB

Это руководство познакомит вас с тем, как сдвинуть массив вручную и с помощью функции circshift() в MATLAB.

Сдвинуть массив с помощью функции circshift() в MATLAB

Если вы хотите сдвинуть массив влево или вправо на определенное количество мест, вы можете использовать функцию circshift(), которая циклически сдвигает данный массив на определенное количество мест. Первый аргумент этой функции - это массив, который вы хотите переместить, а второй - количество мест, которые вы хотите переместить, которое может быть либо количеством столбцов, либо количеством строк. Если второй аргумент - отрицательное число, тогда массив будет сдвигаться влево, иначе вправо. Например, давайте определим массив от 1 до 10 целых чисел и сдвинем его влево с помощью функции circshift(). См. Код ниже.

myArray = 1:10
shifted_array = circshift(myArray,[1,-3])

Выход:

myArray =

     1     2     3     4     5     6     7     8     9    10


shifted_array =

     4     5     6     7     8     9    10     1     2     3

Второй аргумент указывает, что мы хотим сдвинуть первую строку влево на три позиции в приведенном выше коде. Вы также можете сдвигать столбцы, если у вас есть матрица.

Сдвинуть массив, используя индексы массива в MATLAB

Если вы хотите сдвинуть массив влево или вправо на определенное количество мест и создать новый элемент где-нибудь в массиве, вы можете использовать индексы массива. Например, давайте определим массив от 1 до 10 целых чисел и сдвинем его влево, используя индексы массива. См. Код ниже.

myArray = 1:10
shifted_array = [myArray(4:end) myArray(1:3)]

Выход:

myArray =

     1     2     3     4     5     6     7     8     9    10


shifted_array =

     4     5     6     7     8     9    10     1     2     3

В приведенном выше коде end используется для указания конца массива. Вы также можете сдвигать столбцы, если у вас есть матрица. Теперь давайте сдвинем массив на одно место влево, добавим новый элемент в конец массива и удалим первый элемент. См. Код ниже.

myArray = 1:10
element = 11
shifted_array = [myArray(2:end) element]

Выход:

myArray =

     1     2     3     4     5     6     7     8     9    10


element =

    11


shifted_array =

     2     3     4     5     6     7     8     9    10    11

В приведенном выше коде end используется для указания конца массива.