簡體   English   中英

將 3D 矩陣調整為 MATLAB 中的二維矩陣

[英]Resizing a 3D matrix into a 2D matrix in MATLAB

我有以下大小為2*2*3的三維矩陣X

X = zeros(2, 2, 3);
X(:,:,1) = [1 2; 3 4];
X(:,:,2) = [5 6; 7 8];
X(:,:,3) = [9 10; 11 12];

我想自動將X重塑為大小為6*2的二維矩陣,這樣我應該獲得:

X_reshaped = [1 2; 3 4; 5 6; 7 8; 9 10; 11 12] X_reshaped = [1 2; 3 4; 5 6; 7 8; 9 10; 11 12]

在 MATLAB 中,我正在嘗試編寫X_reshaped = reshape(X, [size(X,1)*size(X,3), size(X,2)]) ,但這並沒有給我上面想要的X_reshaped .

任何幫助將不勝感激!

使用 permute permute() function 將允許重新調整數組的形狀,以便元素沿第一個維度成對存儲。 默認情況下,這允許reshape() function 相應地訪問這些對。

X = zeros(2, 2, 3); 
X(:,:,1) = [1 2; 3 4];
X(:,:,2) = [5 6; 7 8];
X(:,:,3) = [9 10; 11 12];

reshape(permute(X,[1 3 2]),[6 2])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM