@9StarRu

Как в массиве чисел найти средний минимум и средний максимум?

Необходимо найти в массиве чисел среднее значение максимальных чисел и среднее значение минимальных чисел.

Нахожу максимум $max = max($response); - 75.27

Нахожу минимум $min = min($response); - 31.19

Нахожу среднее число $sr = array_sum($response) / count($response); - 55.31

Как найти средний максимум и минимум, видимо нужно отталкиваться от середины $sr?

Получается мне известно максимальное, минимальное и среднее число из всех чисел.

$response:
Array
(
    [24] => 39.812
    [25] => 39.651
    [26] => 40.673
    [27] => 41.096
    [28] => 41.556
    [29] => 43.024
    [30] => 43.767
    [31] => 38.831
    [32] => 37.042
    [33] => 34.898
    [34] => 33.954
    [35] => 31.193
    [36] => 32.619
    [37] => 34.762
    [38] => 36.561
    [39] => 38.13
    [40] => 45.557
    [41] => 42.748
    [42] => 46.327
    [43] => 47.014
    [44] => 44.99
    [45] => 45.756
    [46] => 46.555
    [47] => 51.434
    [48] => 51.152
    [49] => 48.385
    [50] => 49.465
    [51] => 46.731
    [52] => 50.797
    [53] => 54.885
    [54] => 56.34
    [55] => 55.264
    [56] => 56.575
    [57] => 57.451
    [58] => 57.873
    [59] => 55.882
    [60] => 58.053
    [61] => 59.094
    [62] => 65.601
    [63] => 68.42
    [64] => 74.06
    [65] => 74.17
    [66] => 75.27
    [67] => 69.278
    [68] => 68.747
    [69] => 71.555
    [70] => 73.506
    [71] => 73.609
    [72] => 68.627
    [73] => 69.061
    [74] => 64.681
    [75] => 63.468
    [76] => 64.814
    [77] => 66.215
    [78] => 62.616
    [79] => 62.022
    [80] => 61.414
    [81] => 61.787
    [82] => 69.706
    [83] => 65.383
    [84] => 61.665
    [85] => 58.181
    [86] => 55.63
    [87] => 52.521
    [88] => 54.116
    [89] => 63.096
    [90] => 68.346
    [91] => 69.788
    [92] => 71.889
    [93] => 64.953
    [94] => 66.553
    [95] => 66.573
)
  • Вопрос задан
  • 672 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега PHP
♬♬
идти по массиву, вычислять разницу с предыдущим значением.
Если разница поменала свой знак — предыдущая точка была локальным минимумом или максимум. Смотреть на знак разницы:
1, 2, 3, 2, 3, 2, 1
0  +  +  -  +  -  -
      ^  ^  ^ в этих точках знак поменялся
Складывать найденные точки в два массива: максимумы и минимумы.
Потом посчитать среднее в каждом.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы