unshiftdata

Inverse of shiftdata

Description

example

y = unshiftdata(x,perm,nshifts) restores the orientation of data x that was shifted using the shiftdata function with permutation perm.

Note

Use the unshiftdata function in tandem with the shiftdata function. These functions are useful for creating functions that work along a certain dimension, like filter, goertzel, sgolayfilt, and sosfilt.

Examples

collapse all

This example shifts x, a 3-by-3 magic square, permuting dimension 2 to the first column. unshiftdata shifts x back to its original shape.

Create a 3-by-3 magic square.

x = magic(3)
x = 3×3

8     1     6
3     5     7
4     9     2

Shift the matrix x to work along the second dimension. The permutation vector, perm, and the number of shifts, nshifts, are returned along with the shifted matrix.

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

8     3     4
1     5     9
6     7     2

perm = 1×2

2     1

nshifts =

[]

Shift the matrix back to its original shape.

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

8     1     6
3     5     7
4     9     2

This example shows how shiftdata and unshiftdata work when you define dim as empty.

Define x as a row vector.

x = 1:5
x = 1×5

1     2     3     4     5

Define dim as empty to shift the first nonsingleton dimension of x to the first column. shiftdata returns x as a column vector, along with perm, the permutation vector, and nshifts, the number of shifts.

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

1
2
3
4
5

perm =

[]
nshifts = 1

Using unshiftdata, restore x to its original shape.

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

1     2     3     4     5

Input Arguments

collapse all

Data, specified as a vector or matrix.

Data Types: single | double

Permutation, specified as a vector.

Data Types: single | double

Number of shifts, specified as a scalar. nshift is returned by the shiftdata function.

Data Types: single | double

Output Arguments

collapse all

Restored data, returned as a vector or matrix.