数学数学 – 如何重塑数学中的矩阵

当操纵矩阵时,改变它们的形状通常是方便的.例如,将N×M大小的矩阵变为长度为N×M的向量.在MATLAB中存在重构函数:

RESHAPE(X,M,N) returns the M-by-N matrix whose elements are taken columnwise from X. An error results if X does not have M*N elements.

在矩阵和向量之间进行转换的情况下,我可以使用Mathematica函数Flatten,它利用Mathematica的矩阵的嵌套列表表示.作为一个简单的例子,假设我有一个矩阵X:

使用Flatten [X],我可以得到矢量{1,2,3,…,16}.但是更有用的是类似于应用Matlab的重塑(X,2,8),这将导致以下矩阵:

只要尺寸等于N * M,这将允许创建任意矩阵.据我所知,没有任何内置的东西让我想知道有没有编写自己的重塑功能.

Reshape[mtx_, _, n_] := Partition[Flatten[mtx], n]
相关文章
相关标签/搜索