shiftdata

Сдвиньте данные, чтобы работать на заданных пределах

Синтаксис

[x,perm,nshifts] = shiftdata(x,dim)

Описание

[x,perm,nshifts] = shiftdata(x,dim) сдвигает данные x переставлять размерность dim к первому столбцу с помощью того же сочетания в качестве встроенного filter функция. Векторный perm возвращает вектор сочетания, который используется.

Если dim отсутствует или пустой, затем первая неодноэлементная размерность смещена к первому столбцу, и количество рабочих смен возвращено в nshifts.

shiftdata предназначается, чтобы использоваться в тандеме с unshiftdata, который сдвигает данные назад к его исходной форме. Эти функции полезны для создания функций, которые работают по определенному измерению, как filter, goertzel, sgolayfilt, и sosfilt.

Примеры

Пример 1

Этот пример переключает 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

Пример 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

Смотрите также

Введенный в R2008a