翻转元素顺序
B = flip(A)
B = flip(A,dim)
B = flip(A) 返回的数组 B 具有与 A 相同的大小,但元素顺序已反转。B 中重新排序的维度取决于 A 的形状:
如果 A 为向量,flip(A) 将沿向量的长度方向反转元素顺序。
如果 A 为矩阵,flip(A) 将反转每列元素的顺序。
如果 A 为 N 维数组,flip(A) 将按 A 的大小值不等于 1 的首个维度上进行运算。
B = flip(A,dim) 沿维度 dim 反转 A 中元素的顺序。例如,如果 A 为矩阵,flip(A,1) 将反转每一列中的元素,flip(A,2) 将反转每一行中的元素。
A = 'no word, no bond, row on.';
B = flip(A)
B =
'.no wor ,dnob on ,drow on'
A = [1;2;3];
B = flip(A)
B = 3×1
3
2
1
移动数组维度
A = rand(4,2,3,5);
B = shiftdim(A,2);
size(B)
ans = 1×4
3 5 4 2
C = shiftdim(A,-2);
size(C)
ans = 1×6
1 1 4 2 3 5
A = rand(1,1,3,2,4);
[B,nshifts] = shiftdim(A);
nshifts
nshifts = 2 % 表示被删除的维度的个数
size(B)
ans = 1×3 % 表示被删除的维度的值
3 2 4
将 B 的维度向左移动两次。
C = shiftdim(B,2);
size(C)
ans = 1×3
4 3 2
将 C 的维度向右移动一次。
D = shiftdim(C,-1);
size(D)
ans = 1×4
1 4 3 2
置换数组维度
B = permute(A,dimorder)
B = permute(A,dimorder) 按照向量 dimorder 指定的顺序重新排列数组的维度。例如,permute(A,[2 1]) 交换矩阵 A 的行和列维度。因为在矩阵中第一维度是行数,第二个维度是列数
创建一个342数组并对其进行置换,交换第一个维度和第三个维度,从而得到243数组
逆置换数组维度
A = ipermute(B,dimorder)
A = ipermute(B,dimorder) 按照向量 dimorder 指定的顺序重新排列数组 B 的维度,使得 B = permute(A,dimorder)。 逆置换 A 是满足如下条件的数组:当您使用相同的维度顺序对其进行置换时,结果等于原始数组 B。
即A置换成为B,B通过逆置换返回A
matlab学习笔记11_3高维数组操作 filp, shiftdim, size, permute, ipermute
原文:https://www.cnblogs.com/cloud-ken/p/11759167.html