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