根据另一个矩阵中的排列构造矩阵
我有一个维度为(mxn)的矩阵“eff_tot”,我想根据名为“matches”的矩阵重新排列它(例如[n2 n3; n4 n5]
)并将所有未指定的列放在末尾有“匹配”。
也就是说,我想要 [eff_tot(:,n2) eff_tot(:,n3) ; eff_tot(:,n4) eff_tot(:,n5) ; eff_tot(:,n1)]
。
这就是大家!
以第一个答案中的例子为例,我想要的是:
eff_tot =
81 15 45 15 24
44 86 11 14 42
92 63 97 87 5
19 36 1 58 91
27 52 78 55 95
82 41 0 0 0
87 8 0 0 0
9 24 0 0 0
40 13 0 0 0
26 19 0 0 0
问候。
I have a matrix 'eff_tot' with dimension (m x n) which I want to rearrange according to a matrix called 'matches' (e.g. [n2 n3; n4 n5]
) and put all the collumns not specified in 'matches' at the end.
That is, I want to have [eff_tot(:,n2) eff_tot(:,n3) ; eff_tot(:,n4) eff_tot(:,n5) ; eff_tot(:,n1)]
.
That's all folks!
Taking the example in the first answer, what I would like to have is:
eff_tot =
81 15 45 15 24
44 86 11 14 42
92 63 97 87 5
19 36 1 58 91
27 52 78 55 95
82 41 0 0 0
87 8 0 0 0
9 24 0 0 0
40 13 0 0 0
26 19 0 0 0
Regards.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
创建一个向量,列出
eff_tot
中所有列的索引,然后使用 SETDIFF 确定哪些列不会出现在[n2 n3 n4 n5]
中。这些列是无与伦比的。现在连接匹配和不匹配的列索引以创建列重新排序的eff_tot
矩阵。Create a vector listing the indices of all the columns in
eff_tot
and then use SETDIFF to determine which columns do not occur in[n2 n3 n4 n5]
. These columns are the unmatched ones. Now concatenate the matched and unmatched column indices to create your column-reorderedeff_tot
matrix.