[réglé] fonction trigo

fonction trigo [réglé] - C++ - Programmation

Marsh Posté le 17-06-2004 à 17:10:02    

ça marche http://ben.lolopage.org/bidouille/dichotomie.exe :jap:  
 
si qq'un a une idée de ce que j'ai fait de faux :

Code :
  1. #include <iostream.h>
  2. #include <math.h>
  3. double Fonction (double y)
  4. {
  5. y=y+3; /* y=atan(y)+atan(y+1)+atan(y-1)-3,14/2 */
  6. return y;
  7. }
  8. void main ()
  9. {
  10. /*pourtant l'ancienne config marquait 0.81... au lieu de 0.0137
  11. avec a=-10 et b=13*/
  12. double a,b,m,f,prec;
  13. cout<<Fonction(1.5)<<endl; /*juste pour voir que l'ordi sait faire le calcul */
  14. cout<<"veuillez rentrer les bornes de la fonction"<<endl<<"a:"<<endl;
  15. cin>>a;
  16. cout<<"b:"<<endl;
  17. cin>>b;
  18. cout<<"precision"<<endl;
  19. cin>>prec;
  20. do
  21. {
  22.  m=((sqrt(b*b)+sqrt(a*a))/2.0)+a;
  23.  f=(Fonction(m))*(Fonction(a));
  24.  /*cout<<"Fonction(m):"<<Fonction(m)<<endl<<"Fonction(a):"<<Fonction(a)<<endl;
  25.  cout<<"Resultante:"<<f<<endl;  */
  26.  cout<<a<<"***"<<m<<"***"<<b<<"***"<<f<<"***";
  27.  if (f<0)
  28.  {
  29.   b=m;
  30.   ///cout<<"b:"<<b<<endl;
  31.  }
  32.  else if (f==0)
  33.  {
  34.   a=b=m;
  35.   break;
  36.  }
  37.  else
  38.  {
  39.   a=m;
  40.   //cout<<"a:"<<a<<endl;
  41.  }
  42. }
  43. while ((sqrt((b-a)*(b-a)))>prec);
  44. cout<<"l'intervalle ou est compris l'ordonee de 0 est de :"<<endl<<"a:"<<a<<endl<<"b:"<<b<<endl;
  45. }


quand je mets la fonction atan et que je la tatte à 1.5 j'obtiens 1.066 au lieu de 149.5 ( à la calculette )
Aidez-moi pleaz


Message édité par grosbin le 17-06-2004 à 19:54:27
Reply

Marsh Posté le 17-06-2004 à 17:10:02   

Reply

Marsh Posté le 17-06-2004 à 17:37:52    

- n'écris pas 3,14/2 mais 3.14/2 à moins que tu saches très précisémment ce que ça fait ...
 
- 3.14 c'est pas très précis...
 
- sinon t'as pensé au problème radians/degrés ?

Reply

Marsh Posté le 17-06-2004 à 17:45:26    

Désolé je ne vois pas comment traduire une expression en radians en degrés ( en prog )
J'ai beau multiplier par 360 et diviser par 2 pi ...

Reply

Marsh Posté le 17-06-2004 à 18:17:29    

en fait si tu as raison il faut simplement que j'applique la conversion à chaque arctangente merci  :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed