circshift

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

Синтаксис:

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

Аргументы:

Имя Тип данных Описание
v array / string / matrix Одномерный массив (вектор) или строка
m matrix Матрица действительных чисел
k integer Целое число, задающее количество позиций и направление, на которое будет сдвинут массив или строка
kk intarray Вектор из двух целых значений, задающих количество и направление, на которое будет сдвинута матрица по строкам и столбцам

Описание:

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

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

Результат:

Имя Тип данных Описание
v1/m1 array / string / matrix Тип возвращаемых данных соответствует типу входного аргумента (вектор, строка, матрица)

Пример:

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 строк

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

Дополнительные материалы:

Нет.