J'ai une fonction en C++ avec la signature suivante:Calcul d'une solution d'équation en C++
float Foo(float time, float min, float curr, float beta)
Au sein de la fonction, je veux déterminer et retour MAX dans l'équation suivante:
time = beta + (1.0f - beta) * ((MAX - curr)/(MAX - min))
Pour tester les résultats, vous pouvez utiliser les arguments suivants:
Foo(0.95f, 625, 800, 0.75f)
Il doit retourner 1500.Sur le papier, j'ai les étapes nécessaires pour déterminer MAX, mais je ne sais pas comment le faire fonctionner dans le code. Si quelqu'un peut fournir le code pour effectuer ce calcul, je serais extrêmement reconnaissant.
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
Pour que cela fonctionne dans le code, recommencez, mais ne remplacez pas les variables par des nombres. Résolvez-le exactement de la même manière, et vous aurez votre réponse. (Ou utilisez un programme mathématique symbolique pour le faire pour vous.) – Cascabel
Cela ressemble beaucoup à une question de travail à domicile ... donc je ne veux pas en dire trop, mais fondamentalement, vous devez réorganiser l'équation pour qu'elle soit 'Max = ...' – thecoshman
Cela ressemble à "faire mes devoirs pour moi". Remplacez vos numéros avec des noms. Trouver l'expression pour 'max'. Codez-le. –