Функция циклического сдвига массива, строки или матрицы
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 строк
В примере выполняется циклический сдвиг вектора, строки и матрицы.
Нет.