2016-03-26 6 views
0

内の特定の部分配列を抽出配列からジュリア

[3,1,7,2; 
4,3,2,7; 
3,4,1,2] 

は、私はMatlabのユーザーが使用して起動しようとしています2.

に等しい最後の前菜を持つ行に対応する部分配列を抽出したいと思いますジュリア。私はドキュメントのヒントを探しましたが、うまくいく答えを見つけることができませんでした。

ステファン

答えて

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は、その行が他の2 falseで終わる場合、我々はtrueを有するVector{Bool}truefalseの1Dアレイ)で得られます。

はその後、我々はどの行を指定する truefalseのこのベクトルを取り、 ,:は、それらの行のそれぞれのすべての列を取ると言う x[x[:, end] .== 2, :]を、持って一緒にすべてを置きます。

+0

ありがとうspencerlyon2! – SGC