Bonjour,
j'ai une fonction f donnée par où .
Comment écrire en C++, un programme qu calcule le maximum de cette fonction sur l'intervalle[0,1]?
Je vous remercie par avance.
si on faut un graphe de f, on voit que le max est 3.5. Où est l'erreur?
23/09/2015, 16h38
#4
invitea7d8195d
Date d'inscription
janvier 1970
Messages
35
Re : max d'une fonction
Mais s'il te plaît, comment programmer en C++ pour qu'il fasse ce calcul lu même?
Aujourd'hui
A voir en vidéo sur Futura
23/09/2015, 17h13
#5
imoca
Date d'inscription
avril 2015
Messages
136
Re : max d'une fonction
google: graphique de fonction en ligne
premier lien trace: x^(2)/(x^(2)+(1-x)^(2))
le max vaut 1.
23/09/2015, 17h21
#6
pm42
Date d'inscription
juillet 2015
Messages
14 864
Re : max d'une fonction
Envoyé par mimi-mimi1
Mais s'il te plaît, comment programmer en C++ pour qu'il fasse ce calcul lu même?
Tu ne peux pas "simplement" utiliser une méthode qui fonctionnera pour toutes les fonctions. Il y a pas mal de méthodes et tout dépend de ce tu attends comme précision, robustesse, etc.
23/09/2015, 17h24
#7
imoca
Date d'inscription
avril 2015
Messages
136
Re : max d'une fonction
Code:
#include <iostream>
using namespace std;
double f(double s){
return s*s/(s*s+(1-s)*(1-s));
}
double maxi(double h){
double m=f(0.00);
int i;
for(i=0;i<=1+1/h;i++){
double x=f(i*h);
if(x>m){
m=x;
}
}
return m;
}
int main()
{
cout << maxi(0.1) << endl;
return 0;
}
23/09/2015, 17h41
#8
invitea7d8195d
Date d'inscription
janvier 1970
Messages
35
Re : max d'une fonction
S'il te plait, c'est quoi la stratégie que tu as utilisé? Je ne comprend pas l'interêt du h.
Merci par avance pour votre aide.
23/09/2015, 17h53
#9
imoca
Date d'inscription
avril 2015
Messages
136
Re : max d'une fonction
m=f(0)
on compare m avec f(h),si f(h)>m alors m enregistre f(h)
on compare m avec f(2h),si f(2h)>m alors m enregistre f(2h)
...
on compare m avec f(i*h),si f(i*h)>m alors m enregistre f(i*h)
...
on compare m avec f(1),si f(1)>m alors m enregistre f(1)
tout naturellement m contient le max de f en discrétisant [0,1] par un pas h.
23/09/2015, 17h59
#10
pm42
Date d'inscription
juillet 2015
Messages
14 864
Re : max d'une fonction
Et c'est sans doute la méthode la plus simple mais aussi la moins fiable et la plus lente si on veut augmenter la précision...
23/09/2015, 18h01
#11
invitea7d8195d
Date d'inscription
janvier 1970
Messages
35
Re : max d'une fonction
En fait, si j'essaye ce programme sur la dérivée de f, qui est ,
je n'obtient pas le bon résultat. Il me donne 2 or que la bonne réponse c'est 3.5. Pourquoi? S'il vous plaît.
Pour vous faire gagner du temps, voici la définition de la fonction Df en C++