circshift

Функция циклического сдвига массива или строки

Синтаксис:

v1 = circshift(v, k);
m1 = circshift(m, kk);

Аргументы:

v - одномерный массив (вектор) или строка;

k - целое число, задающее количество позиций и направление, на которое будет сдвинут массив или строка;

kk - вектор из двух целых значений, задающих количество и направление, на которое будет сдвинута матрица по строкам и столбцам.

Описание:

circshift(v, k) – функция циклически сдвигает массив v на k элементов вправо; если k отрицательное, то сдвиг происходит влево;

circshift(m, kk) - функция циклически сдвигает матрицу m на kk[1] элементов вниз, а затем на kk[2] элементов вправо; если kk[i] имеет отрицательный знак, то сдвиг в соответствующем направлении происходит в обратную сторону.

Результат:

Тип возвращаемых данных соответствует типу входного аргумента (вектор, строка, матрица).

Пример:

v = [1 2 3 4 5]; // вектор 
s = "abcdef";     // строка
M = [[1 2 3 4];[5 6 7 8];[9 10 11 12]]; // матрица
v2 = circshift(v, 1); // циклический сдвиг v вправо на 1 элемент
s2 = circshift(s,-2); // циклический сдвиг s влево на 2 знака
M2 = circshift(M, 1); // циклический сдвиг M вниз на 1 строку
M3 = circshift(M, [-2,7]); // циклический сдвиг M вверх на 2 строки и вправо на 7 строк

В примере выполняется циклический сдвиг вектора, строки и матрицы.