0
我有一个矩阵和阵列内:红宝石 - 确定一个值位于矩阵列
m = Matrix[
[1, 2, 3],
[11, 15, 20]
]
array = [11, 13, 14, 18]
有一种方法,以确定哪些元素从顶部和每列的底部行之间的阵列谎言的矩阵?谢谢。
我有一个矩阵和阵列内:红宝石 - 确定一个值位于矩阵列
m = Matrix[
[1, 2, 3],
[11, 15, 20]
]
array = [11, 13, 14, 18]
有一种方法,以确定哪些元素从顶部和每列的底部行之间的阵列谎言的矩阵?谢谢。
这不是完全清楚你所说的“之间”的意思,但一个简单的理解是:
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
谢谢,第二个伎俩。我的意思是,最上面一行是上限,最下面一行是下限。对于那些查看此线程的人,请确保在'cv [-1]'后加上右括号。 – EHNole 2012-03-15 03:14:47
您的问题声明是有点不清楚。你期望的结果是什么? – dbenhur 2012-03-15 00:10:21