2012-03-14 4 views
0

매트릭스 열 내에있는 경우 결정 :루비 값 I가 매트릭스 배열이

m = Matrix[ 
[1, 2, 3], 
[11, 15, 20] 
] 

array = [11, 13, 14, 18] 

를 결정하는 방법이되는 상부와 각 컬럼의 하단 행의 배열 거짓말로부터의 요소 행렬의? 감사.

+0

귀하의 문제 문은 조금 불분명하다. 예상되는 결과는 무엇입니까? – dbenhur

답변

1

그것은 당신이 "와"무슨 뜻인지 완벽하게 명확하지 않다,하지만 간단한 이해는 다음과 같습니다

def filter_array_between_first_and_last_rows_of_matrix(array,m) 
    lower = m.row_vectors.first.max 
    upper = m.row_vectors.last.min 
    array.select{|e| lower < e && e < upper} 
end 

여기에 또 다른 해석이다 :

def filter_array_between_first_and_last_rows_of_matrix(array,m) 
    bounds_pairs = m.column_vectors.map { |cv| [cv.first, cv[-1]] } 
    array.select {|e| bounds_pairs.any? { |lo,hi| lo < e && e < hi } } 
end 
+0

고마워요, 두 번째 트릭을했다. 내가 의미하는 바는 상단 행이 상단 경계이고 하단 행이 하단 경계라는 것입니다. 이 스레드를 보는 사람들은 'cv [-1]'다음에 닫는 괄호를 추가해야합니다. – EHNole

관련 문제