如何使用MATLAB交换3D数组?

时间:2016-11-06 14:56:00

标签: arrays matlab

这是交换3D矩阵的正确陈述:

A([1 2],:,2)= A([2 1],:,2)

A被定义为3x3x3的3D矩阵。

尝试想象您有3x3x3(立方体类型)的3D矩阵。现在您必须将正面的列交换到顶面的列。在MATLAB中这种类型的交换是否可行?

1 个答案:

答案 0 :(得分:0)

这会切换A(:,:,2)中的2个顶行:

A = reshape(1:27,[3,3,3]);
before = A(:,:,2)
A([1 2],:,2) = A([2 1],:,2);
after = A(:,:,2)

结果:

before =
    10    13    16
    11    14    17
    12    15    18
after =
    11    14    17
    10    13    16
    12    15    18