Как увеличить дисперсию ряда (массива чисел)? Суть задачи в следующем, есть массив чисел (скажем 70 элементов), все типа byte (от 0 до 255), проблема в том что данные отличаются недостаточно сильно, то есть к примеру минимальное 1, максимальное 20 (но может быть и 255 в конкретном случае), хотелось бы увеличить "контрастность" чисел так чтобы максимальное осталось таким как было (не увеличилось) а остальные изменились, маленькие стали еще меньше средние уменьшились, но не слишком сильно, чтобы это было равномерно. Пытался сообразить какие манипуляции с этими данными, чтобы такое провернуть, но не могу математически сформулировать, тут скорее всего нужно применить тригонометрические функции, но с ней у меня плоховато) В гуглах ничего похожего не встретил, если кто знаком или хорошо в этом разбирается, есть идеи как можно массив обработать?

21 Авг 2019 в 06:12
189 +1
1
Ответы
1

Одним из возможных способов увеличения разброса значений в массиве чисел является применение функции, которая будет изменять каждый элемент массива в зависимости от его текущего значения.

Например, можно использовать следующую математическую функцию для изменения значений в массиве:

import numpy as np
# Генерирование случайного массива чисел
array = np.random.randint(0, 256, 70)
# Функция для увеличения разброса значений
def increase_variance(x):
return np.sin(x/256 * np.pi) * 256
# Применение функции к каждому элементу массива
new_array = np.array([increase_variance(x) for x in array])
print(new_array)

В данном примере используется функция np.sin(x/256 * np.pi) * 256, которая изменяет значения элементов массива таким образом, что маленькие значения становятся еще меньше, а средние уменьшаются равномерно. Путем экспериментов с этой и другими функциями вы можете найти наиболее подходящий способ увеличения разброса значений в вашем массиве.

20 Апр в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 93 377 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир