Как написать функцию пересчета значений одной шкалы в другую? Есть диапазон значений от 0.0 до 1.0, условно базовая шкала значений (предметно это обороты двигателя).
Необходимо значения из этого диапазона преобразовывать к значениям другой шкалы, у которой известны 2 значения, соответствующие значениям базовой шкалы 0.0, 0.2 и 1.0. Нужна функция которая позволит рассчитать все промежуточные значения новой шкалы, от известных значений базовой шкалы. И значения 0 базовой шкалы это всегда 0 итоговой шкалы.
Подойдет линейная функция, и я предполагаю что их тут будет 2, под участки 0-0.2 и 0.2-1.0.
Надеюсь объяснил понятно, пример:
есть значения итоговой шкалы 0.0=0 (нули всегда равны у шкал), 0.2 = 1000 и 1.0 = 6000. Жирным отметил входные значения.

11 Окт 2019 в 19:50
199 +1
0
Ответы
1

Для этого можно написать функцию на языке программирования. Например, на Python это может выглядеть так:

def scale_conversion(value, scale_min_1, scale_max_1, scale_min_2, scale_max_2):
if value < scale_min_1 or value > scale_max_1:
return None
range_1 = scale_max_1 - scale_min_1
range_2 = scale_max_2 - scale_min_2
if value <= scale_min_1 + 0.2 * range_1:
return scale_min_2 + (value - scale_min_1) * 0.2 * range_2 / range_1
else:
return scale_min_2 + (value - scale_min_1) * range_2 / range_1
# Пример использования
value_1 = 0.0
value_2 = 0.2
value_3 = 1.0
converted_value_1 = 0
converted_value_2 = 1000
converted_value_3 = 6000
new_value = 0.5 # Пример значения на базовой шкале
result = scale_conversion(new_value, value_1, value_3, converted_value_1, converted_value_2)
print(result)

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

19 Апр 2024 в 12:03
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир