matlab - 将 59x16 double reshape 为 236x4?

标签 matlab matrix reshape

如何在 MATLAB 中 reshape 矩阵,最好使用 reshape

一个简单的矩阵设置:

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

我想 reshape 成

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

我尝试了很多reshape的设置,但我无法弄明白。

1 2 3 4
5 6 7 8

改造成

1 2
5 6
3 4
7 8

最佳答案

您可以使用reshapepermute :

reshape(permute(reshape(A,size(A,1),2,[]),[1 3 2]),[],2)

感谢@LuisMendo 建议修改答案以避免依赖于 A 的大小。

关于matlab - 将 59x16 double reshape 为 236x4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44904620/

相关文章:

c++ - 我应该如何使用 openCV 创建矩阵数组

python - 矩阵路径中的最大元素数

matlab - 如何计算日出和日落时间(matlab)?

matlab - 从matlab中的CSV文件中读取特定列

c - 矩阵乘法有2种不同的方式(比较时间)

R用列表列 reshape 熔化的data.table

pandas - 如何根据列的行值分割数据框并以划分的组作为列制作数组?

multidimensional-array - 如何在 Dyalog APL 中将三元组向量转换为 3xnx3 矩阵?

matlab - 是否可以编写一个可以为函数提供命令行输入的 MATLAB 脚本?

matlab - MATLAB 中的高效低阶逼近