如何从 Matlab 中的行优先向量中获取矩阵?

How to get Matrix from row-major vector in Matlab?

我有以下矩阵:

50,60,55,67,70
62,65,70,70,81
72,66,77,80,69

我现在将矩阵转换为一个向量,但是是行优先的。这给出了以下向量:

50,60,55,67,70,62,65,70,70,81,72,66,77,80,69

现在我想把这个向量变成和上面一样的矩阵。问题是 reshape(matrix,[3,5]) 不起作用,因为 Matlab 操作列优先。

如何有效地做到这一点(对于大矩阵)?

要解决这个问题,请使用

reshape(matrix,[5,3]).'

首先使用 reshape 交换行和列维度,你得到一个顺序正确但转置的矩阵,然后使用转置你得到正确的输出。

拥有控制系统工具箱,您还可以使用vec2mat