Переключите данные, чтобы работать с заданным измерением
[x,perm,nshifts] = shiftdata(x,dim)
[x,perm,nshifts] = shiftdata(x,dim) данные о сдвигах x, чтобы переставить размерность dim к первому столбцу с помощью той же перестановки в качестве встроенной функции filter. Векторный perm возвращает вектор перестановки, который используется.
Если dim отсутствует или пустой, то первая неодноэлементная размерность переключена к первому столбцу, и количество рабочих смен возвращено в nshifts.
shiftdata предназначается, чтобы использоваться в тандеме с unshiftdata, который переключает данные назад к его исходной форме. Эти функции полезны для создания функций, которые работают по определенному измерению, как filter, goertzel, sgolayfilt и sosfilt.
Этот пример переключает x, 3-x-3 магический квадрат, переставляя размерность 2 к первому столбцу. unshiftdata переключает x назад к его исходной форме.
1. Создайте 3-x-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