在Julia中提取特定的子阵列

SGC*_*SGC 0 julia

从阵列

[3,1,7,2;
4,3,2,7;
3,4,1,2]
Run Code Online (Sandbox Code Playgroud)

我想提取对应于具有等于2的最后一个主进行的行的子数组.

我是一个试图开始使用Julia的Matlab用户.我在文档中查找了一些提示但未能找到合适的答案.

非常感谢你提前,

斯特凡

spe*_*on2 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
Run Code Online (Sandbox Code Playgroud)

让我们分解吧.

x[:, end] 是最后一栏.

x[:, end] .== 2给出是Vector{Bool}(1d true和的数组false),true如果该行以2结尾,false则返回.

然后把它们放在一起我们有x[x[:, end] .== 2, :],它采用这个向量truefalse指定哪些行和,:说明采用每个行中的所有列.