首页 > 编程笔记

MATLAB flip():翻转矩阵

在 MATLAB 中,flip() 函数用于镜像翻转矩阵元素顺序,该函数的调用格式及说明如下表所示。

表 1 flip()函数调用格式及说明
调用格式 说 明
B = flip(A) 返回的矩阵 B 具有与 A 相同的大小,但元素顺序反转
B = flip(A, dim) 沿维度 dim 反转 A 中元素的顺序

翻转矩阵元素的操作分为两种,包括左右翻转与上下翻转。flip(A,1) 翻转每一列中的元素,flip(A,2) 翻转每一行中的元素。

【实例一】矩阵的变向示例。
在 MATLAB 命令窗口中输入以下命令:
>> clear                           % 清除工作区的变量
>> C =[1 4 7 10;2 5 8 11;3 6 9 12] % 输入一个3×4的矩阵C
    C =
     1     4     7    10
     2     5     8    11
     3     6     9    12
>> flip(C,1)                       % 翻转矩阵C中每一列的元素
ans =
     3     6     9    12
     2     5     8    11
     1     4     7    10
>> flip(C,2)                       % 翻转矩阵C中每一行的元素
ans =
    10     7     4     1
    11     8     5     2
    12     9     6     3

MATLAB 还提供了专门的左右翻转与上下翻转函数,下面分别进行介绍:

1) 左右翻转

使用 fliplr() 函数将矩阵中的元素左右翻转,调用格式为:

B=fliplr(A)


【实例二】矩阵左右翻转示例。
在 MATLAB 命令窗口中输入以下命令:
>> clear                      % 清除工作区的变量
>> A=rand(3)                  % 创建一个3×3的随机数矩阵
A =
    0.9157    0.6557  0.9340
    0.7922    0.0357  0.6787
    0.9595    0.8491  0.7577
>> B = fliplr(A)              % 从左向右翻转矩阵中的元素
B =
    0.9340    0.6557  0.9157
    0.6787    0.0357  0.7922
    0.7577    0.8491  0.9595

2)上下翻转

使用 flipud() 函数将矩阵中的元素上下翻转,调用格式为:

B=flipud(A)


【实例三】矩阵上下翻转示例。
在 MATLAB 命令窗口中输入以下命令:
>> clear          % 清除工作区的变量
>>  A=rand(3)     % 创建一个3×3的随机数矩阵
A =
    0.7431    0.1712    0.2769
    0.3922    0.7060    0.0462
    0.6555    0.0318    0.0971
>> B = flipud(A)  % 从上向下翻转矩阵中的元素
B =
    0.6555    0.0318    0.0971
    0.3922    0.7060    0.0462
    0.7431    0.1712    0.2769

推荐阅读