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