我发现中位数超出范围存在一些问题。不幸的是,由于没有设置范围,所以无法使用内置函数Median
,但是变量存储在Dictionary中。我在线找到了以下函数,该函数应该返回中位数,但是当我使用时,我得到的类型不匹配“期望为数组或用户定义类型”。这是功能:
Private Function Median(x() As Double, n As Integer) As Double
'this function calculates the median of a vector
'Determine Median
If n Mod 2 = 0 Then
Median = 0.5 * (x(n / 2) + x((n + 2) / 2))
Else
Median = x((n + 1) / 2)
End If
End Function
我试图以这种方式调用该函数:
x = Median(v_Array(), dct(vAdd).Count)
V_array
是一个我想在其中存储值的数组,可以将其从字典中复制过来。我认为这里的问题与x() as Double
部分有关。如果x
的值是双精度值,如何插入值列表?我是否需要使用循环来遍历数组中的值?
Ps。如果您知道要从字典中的值列表中求出中位数的任何其他函数/方式,我将不胜感激!