Тип Функция : REAL Входы PT : Pointer (Указатель на массив) SIZE : UINT (Размер массива) Выходы REAL (Медиана массива) Функция _ARRAY_MEDIAN вычисляет медиану произвольного массива значений типа REAL. При вызове функции передается указатель на массив и его размер в байтах. В CoDeSys вызов происходит следующим образом: _ARRAY_MEDIAN(ADR(Array), SIZEOF(Array)), где Array - имя обрабатываемого массива. ADR() является стандартной функцией, которая возвращает указатель на массив, а SIZEOF() - стандартная функция, которая вычисляет размер массива. Для определения медианы, массив, на который ссылается указатель, будет отсортирован непосредственно в памяти и останется отсортированным по выходе из функции. Таким образом, функция _ARRAY_MEDIAN изменяет содержимое массива. Этот способ обработки массива является очень эффективным, поскольку не требует дополнительной памяти, и передаваемые значения не нужно копировать. Если нужно обработать массив, который нельзя изменять, то до передачи указателя и вызова функции необходимо скопировать его во временный массив. Пример: _ARRAY_MEDIAN(ADR(bigarray), SIZEOF(bigarray))
Медиана:
Если массив содержит четное число элементов, медиана представляет собой среднее арифметическое двух срединных значений в массиве. |
