给定逻辑列向量(大小nx 1)v
和数组a
(大小为mxn)如何生成一个新数组,其中包含a
中的所有列所述列(1 ... n)的数字索引在v
的相应位置为1。
例如,如果v
是
1
0
0
1
和a
1 4 7 10
2 5 8 11
3 6 9 12
新阵列将是
1 10
2 11
3 12
因为v
的第一个和第四个元素是1(真),所以新数组应该包含a
的第一和第四列。
我尝试过很多涉及正常逻辑索引和转置的东西,但我无法让它工作。感谢所有帮助
答案 0 :(得分:2)
您希望使用逻辑索引来选择列并选择所有行。在下面的示例中,我已明确将v
转换为逻辑,以防它 已经逻辑矩阵。
new = a(:, logical(v))
1 10
2 11
3 12