circshift
Функция циклического сдвига массива, строки или матрицы
Синтаксис
v1 = circshift(v, k);
m1 = circshift(m, kk);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| v | array / string / array2 |
Одномерный массив (вектор) или строка |
| m | array2 |
Матрица действительных чисел |
| k | integer |
Целое число, задающее количество позиций и направление, на которое будет сдвинут массив или строка |
| kk | intarray |
Вектор из двух целых значений, задающих количество и направление, на которое будет сдвинута матрица по строкам и столбцам |
Описание
circshift(v, k) – функция циклически сдвигает массив v на
k элементов вправо; если k отрицательное, то сдвиг
происходит влево;
circshift(m, kk) - функция циклически сдвигает матрицу m на
kk[1] элементов вниз, а затем на kk[2] элементов вправо;
если kk[i] имеет отрицательный знак, то сдвиг в соответствующем направлении
происходит в обратную сторону.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| v1/m1 | array / string / array2 |
Тип возвращаемых данных соответствует типу входного аргумента (вектор, строка, матрица) |
Пример
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 строк
В примере выполняется циклический сдвиг вектора, строки и матрицы.
Дополнительные материалы
Нет.