如何在三维阵列交换使用MATLAB



这是交换3D矩阵的正确语句吗?

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

A定义为3x3x3的三维矩阵。

试着想象你有一个3x3x3的3D矩阵(一个立方体类型)。现在你必须将正面的列交换到顶部的列。这种类型的交换在MATLAB中可能吗?

可以。

切换A(:,:,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

最新更新