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. Создайте магический квадрат 3-x-3:

    x = fi(magic(3))
    x = 
    
         8     1     6
         3     5     7
         4     9     2
    
              DataTypeMode: Fixed-point: binary point scaling
                Signedness: Signed
                WordLength: 16
            FractionLength: 11
  2. Сдвиньте матрицу x для работы по второму измерению:

    [x,perm,nshifts] = shiftdata(x,2)
    x = 
    
         8     3     4
         1     5     9
         6     7     2
    
              DataTypeMode: Fixed-point: binary point scaling
                Signedness: Signed
                WordLength: 16
            FractionLength: 11
    
    perm =
    
         2     1
    
    
    nshifts =
    
         []

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

  3. Сдвиньте матрицу назад к ее исходной форме:

    y = unshiftdata(x,perm,nshifts)
    y = 
    
         8     1     6
         3     5     7
         4     9     2
    
              DataTypeMode: Fixed-point: binary point scaling
                Signedness: Signed
                WordLength: 16
            FractionLength: 11
  1. Определите x как вектор-строка:

    x = 1:5
    x =
    
         1     2     3     4     5
  2. Определите dim как пустой, чтобы сдвинуть первую не синглтонную размерность x в первый столбец:

    [x,perm,nshifts] = shiftdata(x,[])
    x =
    
         1
         2
         3
         4
         5
    
    
    perm =
    
         []
    
    
    nshifts =
    
         1

    x возвращается как вектор-столбец, вместе с perm, вектор сочетания и nshifts, количество сдвигов.

  3. Используя unshiftdata, восстановить x по своей исходной форме:

    y = unshiftdata(x,perm,nshifts)
    y =
    
         1     2     3     4     5

См. также

Введенный в R2008a