操作矩阵时,更改它们的形状通常很方便。例如,要将 N x M 大小的矩阵转换为长度为 NX M 的向量。在 MATLAB 中存在整形函数:
RESHAPE(X,M,N) 返回 M×N 矩阵,其元素从 X 中按列获取。如果 X 没有 M*N 元素,则会导致错误。
在矩阵和向量之间转换的情况下,我可以使用 Mathematica 函数Flatten,它利用了 Mathematica 的矩阵嵌套列表表示。举个简单的例子,假设我有一个矩阵 X:
使用Flatten [X] 我可以得到向量 {1,2,3,...,16}。但是更有用的是类似于应用 Matlab 的reshape (X,2,8) 这将导致以下矩阵:
只要维度等于 N*M,这将允许创建任意矩阵。据我所知,没有任何内置的东西让我想知道是否有人没有编写自己的 Reshape 函数。