exponenta event banner

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.

Примеры

свернуть все

Этот пример сдвигает x, магический квадрат 3 на 3, перестановка размерности 2 в первый столбец. unshiftdata изменения x вернуться к первоначальной форме.

Создайте магический квадрат 3 на 3.

x = magic(3)
x = 3×3

     8     1     6
     3     5     7
     4     9     2

Сдвинуть матрицу x для работы вдоль второго размера. Вектор перестановки, permи количество смен, nshifts, возвращаются вместе со сдвинутой матрицей.

[x,perm,nshifts] = shiftdata(x,2)
x = 3×3

     8     3     4
     1     5     9
     6     7     2

perm = 1×2

     2     1

nshifts =

     []

Переместите матрицу обратно в ее исходную форму.

y = unshiftdata(x,perm,nshifts)
y = 3×3

     8     1     6
     3     5     7
     4     9     2

В этом примере показано, как shiftdata и unshiftdata работать при определении dim как пустые.

Определить x как вектор строки.

x = 1:5
x = 1×5

     1     2     3     4     5

Определить dim как пустой, чтобы сдвинуть первый несинглтон размерности x к первому столбцу. shiftdata прибыль x в виде вектора-столбца вместе с perm, вектор перестановки и nshifts, количество смен.

[x,perm,nshifts] = shiftdata(x,[])
x = 5×1

     1
     2
     3
     4
     5

perm =

     []
nshifts = 1

Используя unshiftdata, восстановить x к своей первоначальной форме.

y = unshiftdata(x,perm,nshifts)
y = 1×5

     1     2     3     4     5

См. также

| |

Представлен в R2012b