Инверсия 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