2012-04-16 109 views
2

我可以使用reshape(M,1,[])轻松地将整个矩阵压扁成一行。但是,这次我想将每n行平铺成一行。因此,如果我们从100行开始,并且n = 10,那么最终将有10行。如何使用Matlab将矩阵中的每n行平坦化?

例如

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 

有没有一种简单的方法来做到这一点?

回答

4

假设你原来的矩阵是m,则:

reshape(m',[6 2])' 

产生所需的输出。我会留给你来概括其他情况;评论或发布,如果这会导致你的问题。

1

这应该工作。

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

其中n是你定义了什么,l是在M的总元素

编辑:制造这一个班轮

相关问题