【发布时间】:2014-03-14 14:42:04
【问题描述】:
我在 matlab 中有一个 6 x 8 矩阵,想重新排序行。有没有一种简单的方法可以让我在特定的行中移动?
出于我的目的,我想取初始的第 1、2 和 3 行,并将它们重新排列为第 4、5 和 6 行。初始第 4 行应该是第 2 行,第 5 行应该是第 3 行,第 3 行6 应该是第 1 行。
谢谢!
【问题讨论】:
我在 matlab 中有一个 6 x 8 矩阵,想重新排序行。有没有一种简单的方法可以让我在特定的行中移动?
出于我的目的,我想取初始的第 1、2 和 3 行,并将它们重新排列为第 4、5 和 6 行。初始第 4 行应该是第 2 行,第 5 行应该是第 3 行,第 3 行6 应该是第 1 行。
谢谢!
【问题讨论】:
M = rand(6,8);
new_row_order = [6;4;5;1;2;3];
M_new = M(new_row_order, :);
【讨论】:
是的。您可以通过以下方式索引原始矩阵:
P = A([6 4 5], :)
其中A 是原始矩阵,P 是置换矩阵。
这意味着P的行将是A的第6行,A的第4行,最后是A的第5行。
【讨论】: