Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

flip

翻转元素顺序

说明

示例

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

A = diag([100 200 300])
A = 3×3

   100     0     0
     0   200     0
     0     0   300

在未指定 dim 参数的情况下翻转 A

B = flip(A)
B = 3×3

     0     0   300
     0   200     0
   100     0     0

现在,沿第二个维度翻转 A

B = flip(A,2)
B = 3×3

     0     0   100
     0   200     0
   300     0     0

创建一个 1×3×2 数组。

A = zeros(1,3,2);
A(:,:,1) = [1 2 3];
A(:,:,2) = [4 5 6];
A
A = 
A(:,:,1) =

     1     2     3


A(:,:,2) =

     4     5     6

在未指定 dim 参数的情况下翻转 A

B = flip(A)
B = 
B(:,:,1) =

     3     2     1


B(:,:,2) =

     6     5     4

现在,沿第三个维度翻转 A

B = flip(A,3)
B = 
B(:,:,1) =

     4     5     6


B(:,:,2) =

     1     2     3

创建一个 3×2 元胞数组。

A = {'foo',1000; 999,true; 'aaa','bbb'}
A=3×2 cell array
    {'foo'}    {[1000]}
    {[999]}    {[   1]}
    {'aaa'}    {'bbb' }

在未指定 dim 参数的情况下翻转 A

B = flip(A)
B=3×2 cell array
    {'aaa'}    {'bbb' }
    {[999]}    {[   1]}
    {'foo'}    {[1000]}

现在,沿第二个维度翻转 A

B = flip(A,2)
B=3×2 cell array
    {[1000]}    {'foo'}
    {[   1]}    {[999]}
    {'bbb' }    {'aaa'}

输入参数

全部折叠

输入数组,指定为向量、矩阵、多维数组、表或时间表。

数据类型:double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | cell | table | timetable | categorical | datetime | duration | calendarDuration

示例: [1 2 3 4]

示例: ['abcde']

示例: [1 2; 3 4]

示例: {'abcde',[1 2 3]}

示例: table(rand(1,5),rand(1,5))

沿其运算的维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个数组维度。

下图展示了 A 为矩阵时 dim=1dim=2 之间的区别。

扩展功能

另请参阅

| | | |

在 R2013b 中推出