我正在处理图像数据,并且我有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