Инверсия shiftdata
y = unshiftdata(x,perm,nshifts)
y = unshiftdata(x,perm,nshifts)
восстанавливает ориентацию данных, которые были переключены с shiftdata
. Вектор перестановки дан perm
, и nshifts
является количеством рабочих смен, которое было возвращено в shiftdata
.
unshiftdata
предназначается, чтобы использоваться в тандеме с shiftdata
. Эти функции полезны для создания функций, которые работают по определенному измерению, как filter
, goertzel
, sgolayfilt
и sosfilt
.
Этот пример переключает x
, магический квадрат 3-by-3
, переставляя размерность 2
к первому столбцу. unshiftdata
переключает x
назад к его исходной форме.
1. Создайте магический квадрат 3-by-3
:
x = fi(magic(3)) x = 8 1 6 3 5 7 4 9 2
2. Переключите матричный x
, чтобы работать вдоль второго измерения:
[x,perm,nshifts] = shiftdata(x,2)
Эта команда возвращает вектор перестановки, perm
, и количество рабочих смен, nshifts
, возвращено наряду с переключенной матрицей, x
:
x = 8 3 4 1 5 9 6 7 2 perm = 2 1 nshifts = []
3. Переключите матрицу назад к ее исходной форме:
y = unshiftdata(x,perm,nshifts) y = 8 1 6 3 5 7 4 9 2
Этот пример показывает, как shiftdata
и unshiftdata
работают, когда вы задаете dim
как пустой.
1. Задайте x
как вектор - строку:
x = 1:5 x = 1 2 3 4 5
2. Задайте dim
как пустой, чтобы переключить первую неодноэлементную размерность x
к первому столбцу:
[x,perm,nshifts] = shiftdata(x,[])
Эта команда возвращает x
как вектор-столбец, наряду с perm
, вектором перестановки, и nshifts
, количеством рабочих смен:
x = 1 2 3 4 5 perm = [] nshifts = 1
3. Используя unshiftdata
, восстановление x
к его исходной форме:
y = unshiftdata(x,perm,nshifts) y = 1 2 3 4 5