Сдвиньте данные, чтобы работать на заданных пределах
[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