如何使用Matlab将矩阵中的每n行展平?

时间:2012-04-16 04:16:01

标签: matlab

我可以使用reshape(M,1,[])轻松地将整个矩阵展平为一行。但是,这次我想将每n行压扁成一行。因此,如果我们从100行开始并且n = 10,我们最终会得到10行。

e.g。

1 2 3
4 5 6
7 8 9
10 11 12

将n = 2更改为

1 2 3 4 5 6
7 8 9 10 11 12

有一种简单的方法吗?

2 个答案:

答案 0 :(得分:4)

假设您的原始矩阵是m,那么:

reshape(m',[6 2])'

生成所需的输出。我会留给你推广到其他案件;如果这会导致您出现问题,请再次发表评论或发帖。

答案 1 :(得分:1)

这应该有用。

reshape(M',l/n,n)'

其中n是你定义的,l是M中的总元素。

编辑:使它成为单行