如果我在加密过程中使用flipud()
函数,我当然需要在解密过程中使用与其相反的函数。
是否有任何函数或代码片段在MATLAB中执行flipud()
函数的逆操作?
答案 0 :(得分:5)
再次致电flipud
。 flipud
只需获取矩阵的每一列并反转顺序,以便最后一行显示。要撤消反转,请在已反转的矩阵上执行flipud
。反转矩阵的最后一行成为第一行,依此类推,因此您将获得原始订单。
观察:
>> A = rand(100,100);
>> B = isequal(A, flipud(flipud(A)))
B =
1
A
是一个随机的100 x 100矩阵。我使用isequal
来确保原始矩阵等于该矩阵中每个元素的两次翻转矩阵。但是,如果你不想与这些名字混淆......如果你真的,真的,真的......我的意思是......真的......想要有一个"倒转的功能&#34 ;一个已经反转的矩阵,你可以调用一个名为flipdu
的函数来执行这个翻转:
flipdu = @flipud;
答案 1 :(得分:5)
您可以定义辅助功能,向下翻转,以完成您的需要:
function [output] = flipdu(A)
%FLIPDU Flip array in down/up direction.
% OUTPUT = FLIPDU(A) returns A with the order of elements flipped upside down
% along the first dimension. For example,
%
% A = 1 4 becomes 3 6
% 2 5 2 5
% 3 6 1 4
%
% See also FLIPLR, ROT90, FLIP, FLIPUD.
output = flipud(A); % Equivalent to flip(A, 1)
end