我有以下矩阵:
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 以列为主。
如何有效地做到这一点(对于大型矩阵)?
我有以下矩阵:
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 与行和列维度交换,你得到一个具有正确顺序但转置的矩阵,然后使用 transpose 你得到正确的输出。
拥有控制系统工具箱,您还可以使用vec2mat