Относительные значения от максимальных значений Математика Задача - PullRequest
0 голосов
/ 16 февраля 2011

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

Что я хочу сделать, так это найти значение относительно максимального значения. Например, допустим, что значение равно 3. Максимальное значение равно 6. Поэтому это значение равно 0,5 максимального значения.

Это может быть легко реализовано так: currentValue / max

Однако, скажи, если сейчас у меня есть негативы. Скажем, максимум сейчас -6, а текущее значение -7. Я должен был бы использовать минимальное значение для этого. Так сказать, минимальное значение равно -8. В этом случае -7 будет 0,5 от -6.

Однако, как я могу выразить нахождение текущего значения в виде уравнения для негативов (используя max и min)?

Ответы [ 3 ]

4 голосов
/ 16 февраля 2011

Я собираюсь предположить, что когда max положительно, min равно нулю, поскольку это то, что предлагает ваш пример.

Окончательное значение, которое вы ищете, учитывая, что input это1006 * пропорция изменения от min до max, из которого состоит изменение от min до input.На самом деле это проще в формуле:

Final value = (input - min) / (max - min)

Например:

min = 0
max = 6
input = 3
Final value = (3 - 0) / (6 - 0) = 3 / 6 = 0.5

min = -8
max = -6
input = -7
Final value = (-7 - -8) / (-6 - -8) = 1 / 2 = 0.5
0 голосов
/ 16 февраля 2011

вариант 1: если ноль находится между максимальным числом и текущим значением, вы можете использовать расстояние между текущим значением и нулем по общему расстоянию между текущим значением и максимальным значением.

случай 2: если максимальное значениенаходится между текущим значением и нулем, вы можете использовать расстояние между текущим значением и максимумом по общему расстоянию между нулем и текущим значением.

случай 3: если текущее значение находится между максимальным и нулевым, используйте расстояние между нулямии текущее значение на расстоянии от нуля до максимального значения.

, поскольку вам нужно значение от 0 до 1, в вашем числителе вы можете найти и использовать меньший сегмент. Например, текущее значение и нулевой сегменткороче отрезка между нулевым и максимальным значением, используйте первое в качестве числителя.

0 голосов
/ 16 февраля 2011

По сути, вы хотите обработать минимальное значение, как если бы оно было нулем на ваших осях. Чтобы сделать это, просто вычтите min из всех значений, давая

(currentValue - min) / (max - min)

Вы должны убедиться, что не делите на ноль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...