来自数组
[3,1,7,2;
4,3,2,7;
3,4,1,2]
我想提取对应于具有等于2的最后一个主进行的行的子数组。
我是试图开始使用Julia的Matlab用户。我在文档中查找了一些提示,但没有找到合适的答案。
非常感谢您提前,
Stephane
答案 0 :(得分:7)
这对你有用吗?
julia> x = [3 1 7 2
4 3 2 7
3 4 1 2]
3x4 Array{Int64,2}:
3 1 7 2
4 3 2 7
3 4 1 2
julia> x[x[:, end] .== 2, :]
2x4 Array{Int64,2}:
3 1 7 2
3 4 1 2
让我们分解吧。
x[:, end]
是最后一栏。
x[:, end] .== 2
给出的是Vector{Bool}
(1d数组true
和false
),如果该行以2结尾true
,则false
{1}}否则。
然后将它们放在一起我们有x[x[:, end] .== 2, :]
,它使用true
和false
这个向量来指定哪些行,而,:
表示每个行中的所有列那些行。