Если представить многомерный массив в виде страниц, то их перестановка является перестановкой размерностей массива. Для двумерного массива перестановка часто означает транспонирование — замену строк столбцами и наоборот. Следующие функции обобщают транспонирование матриц для случая многомерных массивов и обеспечивают перестановку размерностей многомерных массивов:
permute (A, ORDER) — переставляет размерности массива А в порядке, определяемом вектором перестановок ORDER. Вектор ORDER — одна из возможных перестановок всех целых чисел от 1 до
N,
ipermuteCA, ORDER) — операция, обратная permute: permute(permute(A. ORDER), ORDER)=A
Ниже приводятся примеры применения этих функций и функции size:
» А=[1 2: 3 4]:
» В=[5 6; 7 8];
» С=[9 10; И 12];
» D=cat(3.A,B.C)
D(:,:,l) =
1 2
3 4
9 10
11 12
» size(D)
ans =
2 2 3
» size(permute(D.[3 2 1]))
ans=
3 2 2
»size(ipermute(D.[2 1 3]))
ans=
2 2 3
» ipermute(permute(D,[3 2 1]),[3 2 1])
1 2
3 4
ans(:. :,2) =
5 6
78
ans(:.:,3) =
9 10
11 12