unshiftdata
Обратная функция к shiftdata.
| Библиотека |
|
Аргументы
Входные аргументы
#
x —
входные данные
вектор | матрица
Details
Входные данные, заданные как вектор или матрица.
| Типы данных |
|
#
perm —
перестановка
вектор
Details
Перестановка, заданная как вектор.
Выходные аргументы
#
y —
восстановленные данные
вектор | матрица
Details
Восстановленные данные, возвращаемые в виде вектора или матрицы.
Примеры
Перестановка измерений магического квадрата
Details
Выполним сдвиги в магическом квадрате 3×3, переставив второе измерение в первый столбец с помощью функции shiftdata. Вернем матрицу в исходное положение с помощью функции unshiftdata.
Зададим магический квадрат 3×3.
import EngeeDSP.Functions: shiftdata
import EngeeDSP.Functions: unshiftdata
x = [2 9 4; 7 5 3; 6 1 8]
3×3 Matrix{Int64}:
8 1 6
3 5 7
4 9 2
Сдвинем матрицу, чтобы работать вдоль второго измерения. Вернем вектор перестановки, количество сдвигов и сдвинутую матрицу.
x, perm, nshifts = shiftdata(x, 2)
(x = [8 3 4; 1 5 9; 6 7 2], perm = (2, 1), nshifts = Any[])
Восстановим матрицу в исходное состояние.
y = unshiftdata(x, perm)
3×3 Matrix{Int64}:
8 1 6
3 5 7
4 9 2
Перегруппировка массива для работы с первым неединичным измерением
Details
Определим данные для сдвига в виде вектора-строки.
import EngeeDSP.Functions: shiftdata
import EngeeDSP.Functions: unshiftdata
x = [1 2 3 4 5]
1×5 Matrix{Int64}:
1 2 3 4 5
Чтобы сдвинуть первое измерение данных, не являющееся единственным элементом в массиве, в первый столбец, не будем задавать dim. Функция shiftdata вернет данные в виде вектора-столбца, вектора перестановок и количества сдвигов.
x, perm, nshifts = shiftdata(x)
(x = [1, 2, 3, 4, 5], perm = Any[], nshifts = 1)
Восстановим данные в исходное состояние.
y = unshiftdata(x, perm, nshifts)
1×5 Matrix{Int64}:
1 2 3 4 5