我正在處理圖像數據,並且我有240個圖像,每個圖像由尺寸爲231的5個通道貢獻組成,共有384個。現在這個矩陣的大小是(240,231,384,5),我希望將其作爲(231 * 240,384,5)。我不能在不扭曲數據的情況下「重塑」它。我該怎麼做呢?在matlab中連接多維矩陣的一部分
0
A
回答
0
這是我的猜測是你正在嘗試做的
test = [1:16]; % sample data
test1 = reshape(test, 4, 4); % rearrange to 4x4
% this has a vertical arrangement which is prob not what you have
[m, n] = size(test1); % get dims
r = 2; % horizontal width/numb of cols
% this prob closer to what you have
test2 = test1(:,1:r)' % flip to horizontal order
test3 = reshape(test2, m*r, 1) % rearrange to vertical
+0
正如Daniel R所說,請包括您正在尋找的示例輸出。目前尚不清楚你想要做什麼。什麼失真在說什麼?你的數據是什麼樣的?你能給我們一小部分的代碼與你期望的輸出嗎? – athypes
0
給定一個矩陣:
n1 = 240; n2 = 231; n3 = 384; n4 = 5;
A = randn(n1, n2, n3, n4);
我猜你正在尋找的解決方法是,由路易斯以上建議:
B = reshape(A, n1 * n2, n3, n4);
或
C = reshape(permute(A, [2 1 3 4]), n1 * n2, n3, n4);
否則,你必須更好地解釋你的問題是什麼。
相關問題
- 1. MATLAB - 第三矩陣維度的連接
- 2. MATLAB多維矩陣訪問
- 3. Matlab - 連接多維矩陣行元素和輸出單行矩陣
- 4. Matlab:選擇矩陣的一部分
- 5. 在Matlab中連接兩個矩陣
- 6. 有多維矩陣的Matlab classregtree
- 7. 如何在matlab中將矩陣塊連接到單個矩陣?
- 8. 分割三維矩陣劃分爲多個二維矩陣
- 9. 如何在Matlab中處理「使用vertcat矩陣的維度連接的矩陣不一致」?
- 10. 索引超過了矩陣的維數 - 在Matlab中的部分分數
- 11. Matlab:用矩陣索引多維數組
- 12. 得到一個二維矩陣出3D矩陣的Matlab的
- 13. Julia-通過向量提取多維矩陣的一部分
- 14. 在多維矩陣中連接兩個點
- 15. 在matlab中創建三維矩陣
- 16. 在MATLAB中繪製三維矩陣*值*
- 17. 在Matlab中向矩陣添加維度
- 18. 在Matlab中Rowwise 2維矩陣相交
- 19. 在Matlab中剔除矩形矩陣的部分
- 20. 三維矩陣Matlab繪圖
- 21. Matlab三維矩陣MemMapFile
- 22. 獲得一個更大的矩陣MATLAB中的一個部分
- 23. Matlab矩陣內維必須一致
- 24. Numpy中的多維矩陣
- 25. Matlab中的稀疏三維矩陣
- 26. Matlab中的二維邏輯矩陣
- 27. matlab中的3維矩陣乘法
- 28. matlab中列表的二維矩陣?
- 29. MATLAB中三維矩陣的最大值
- 30. 將矩陣的多行連接到另一個矩陣
爲什麼不只是'重塑(數據,240 * 231,384,5)'? –
我不明白你爲什麼想這樣做?第一維的手段是什麼意思? – Vuwox
@Maria:你期望成爲M(2,:,:)的輸出結果?第一張照片的第二行或第二張照片的第一行? – Daniel