У меня есть функция в C++ со следующей подписью:Вычисление решения уравнения в C++
float Foo(float time, float min, float curr, float beta)
внутри функции, я хочу, чтобы определить и вернуть MAX в следующем уравнении:
time = beta + (1.0f - beta) * ((MAX - curr)/(MAX - min))
Чтобы проверить результаты, вы можете использовать следующие аргументы:
Foo(0.95f, 625, 800, 0.75f)
Должно быть возвращено 1500.
На бумаге у меня есть необходимые шаги для определения MAX, но я не знаю, как это сделать в коде. Если кто-то может предоставить код для выполнения этого расчета, я был бы чрезвычайно благодарен.
0.95 = 0.75 + (1 - 0.75) * ((max - 800)/(max - 625))
0.95 = 0.75 + 0.25 * ((max - 800)/(max - 625))
0.95 - 0.75 = 0.25 * ((max - 800)/(max - 625))
0.2 = 0.25 * ((max - 800)/(max - 625))
0.2/0.25 = (max - 800)/(max - 625)
0.8 = (max - 800)/(max - 625)
0.8 * (max - 625) = max - 800
(0.8 * max) - (0.8 * 625) = max - 800
(0.8 * max) - 500 = max - 800
((0.8 * max) - max) - 500 = -800
((0.8 * max) - max) = -800 + 500
((0.8 * max) - max) = -300
-0.2 * max = -300
max = -300/-0.2
max = 1500
Чтобы получить этот код, начните сначала, но не заменяйте переменные номерами. Решите его точно так же, и вы получите ответ. (Или используйте символическую математическую программу, чтобы сделать это для вас.) – Cascabel
Это очень похоже на вопрос о домашнем задании ... поэтому я не хочу говорить слишком много, но в основном вам нужно переставить уравнение так, чтобы оно было 'Max = ...' – thecoshman
Это звучит так: «Сделай домашнее задание для меня». Замените свои номера на имена. Найдите выражение для 'max'. Составьте код. –