Как перейти к логарифмической шкале?

Сабж.
Не могу придумать простой численный метод чтобы уложить x от minX=1.14E-23 до maxX=2.428272E+35 в произвольный заданный диапазон. Допустим в x' от minX'=10 до maxX'=60000.
Т.е. какой должна быть f для x'=f(x,minX,maxX,minX',maxX')

В принцие minX и maxX константы, а вот minX' и maxX', т.е. границы шкалы в которую надо перейти могут меняться, хоть и в нешироких пределах (+- порядок).
  • Вопрос задан
  • 615 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Это же несложно. Логарифмическая шкала, значит первое преобразование - взятие логарифма:
x' = log10x
Получили преобразование диапазона [1.14E-23, 2.428272E+35] в [-22.94309515, 35.38529733]. Теперь надо уложить полученный диапазон в [10, 60000] линейным преобразованием:
x'' = (x' - (-22.94309515)) / (35.38529733 - (-22.94309515)) * (60000 - 10) + 10
Сводя преобразования вместе получаем
x'' = (log10x + 22.94309515) * 1028.487113 + 10
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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