atranspose#
Purpose#
Transposes an N-dimensional array.
Format#
- y = atranspose(x, nd)#
- Parameters:
x (N-dimensional array)
nd (Nx1 vector) – the new order of dimensions.
- Returns:
y (N-dimensional array) – transposed according to nd.
Examples#
// Create a vector of consecutive integers
x = seqa(1, 1, 24);
// Reshape the vector into a 2x3x4 dimensional array
x = areshape(x, 2|3|4);
nd = { 2, 1, 3 };
y = atranspose(x, nd);
This example transposes the dimensions of x that correspond to the first and second elements of the vector of orders. x is a 2x3x4 array, such that:
Plane [1,.,.]
1.000 2.000 3.000 4.000
5.000 6.000 7.000 8.000
9.000 10.000 11.000 12.000
Plane [2,.,.]
13.000 14.000 15.000 16.000
17.000 18.000 19.000 20.000
21.000 22.000 23.000 24.000
y is a 3x2x4 array, such that:
Plane [1,.,.]
1.000 2.000 3.000 4.000
13.000 14.000 15.000 16.000
Plane [2,.,.]
5.000 6.000 7.000 8.000
17.000 18.000 19.000 20.000
Plane [3,.,.]
9.000 10.000 11.000 12.000
21.000 22.000 23.000 24.000
nd = { 2, 3, 1 };
y = atranspose(x, nd);
Using the same array x as the example above, this example transposes all three dimensions of x, returning a 3x4x2 array y, such that:
Plane [1,.,.]
1.000 13.000
2.000 14.000
3.000 15.000
4.000 16.000
Plane [2,.,.]
5.000 17.000
6.000 18.000
7.000 19.000
8.000 20.000
Plane [3,.,.]
9.000 21.000
10.000 22.000
11.000 23.000
12.000 24.000
Remarks#
The vector of dimension indices must be a unique vector of integers, between 1 and N, where 1 corresponds to the first element of the vector of orders.
See also
Functions areshape()
, squeeze()