У меня небольшая проблема с поиском медианы из диапазона. К сожалению, я не могу использовать встроенную функцию Median
, так как нет заданного диапазона, но переменная хранится в словаре. Я обнаружил в сети следующую функцию, которая должна возвращать медиану, но при использовании я получаю несоответствие типов «Ожидается массив или определенный пользователем тип». Вот функция:
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. Если вы знаете любую другую функцию / способ получить медиану из списка значений в словаре, я был бы признателен за любую помощь!