提前感谢您的帮助
假设我有一个多D数组,那么
x(:,:,1) = [1 2 ; 3 4];
x(:,:,2) = [5 6 ; 7 8];
x(:,:,3) = [9 10 ; 11 12];
我希望快速有效地将x转换为
y = [1 5 9 2 6 10 3 7 11 4 8 12];
除了使用循环之外,我还有一种有效的方法(我希望这样做的矩阵相对较大)?
答案 0 :(得分:2)
您可以使用冒号运算符:
,但首先必须重新排序矩阵x
:
x(:,:,1) = [1 2 ; 3 4];
x(:,:,2) = [5 6 ; 7 8];
x(:,:,3) = [9 10 ; 11 12];
z=permute(x,[3 2 1]);
y=z(:).'