Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1026 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  resoudre numeriquement erf(x), et alternative a scan f

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

resoudre numeriquement erf(x), et alternative a scan f

n°1934798
nakor
Posté le 23-10-2009 à 10:46:41  profilanswer
 

Bonjour !
 
Je cherche a resoudre numeriquement la fonction erf(x). J'ai cherche sur internet, j'ai trouve des resolutions, comme celle propose par wikipedia
http://fr.wikipedia.org/wiki/Fonction_d%27erreur
 
Mais ce qui me faudrait vraimment c'est un moyen d'effectuer une resolution sans utiliser ces solutions, a priori on peut utiliser l'algorithme de Horner, mais je ne voit pas comment. une idee ?
En gros je cherche un algorithme pour resoudre cette integrale, sans passe par des solutions deja existantes.
 
Sinon je cherche aussi une alternative a scanf pour lire la valeur que l'utilisateur rentre. Je veux pouvoir detecter par exemple si il rentre un caractere a la place d'une valeur afin de quitter le programme.
Pour donner quelque chose comme ca,
 

Code :
  1. #include <stdio.h >
  2. int main()
  3. {
  4. float erf;
  5. float x;
  6. do
  7. {
  8. printf("enter a value for x, or q if you want to quit\n" );
  9. scanf ("%f",&x);                             //scanf ne semble pas tres aproprier pour ce que je veux faire (detecter "q" pour quitter)  
  10. erf=x;                                          //a remplacer par un algorithme me permetant d obtenir erf, je cherche encore
  11. printf("erf=%f\n",erf);
  12. }
  13. while ()  ; //une condition dans while... si j'arrive a detecter quand l'utilisateur rentre q...
  14. return 0;
  15. }


 
 
Merci pour votre aide.
le code ici n'a pas une grande importance, c'est juste pour donner une idee generale. Ce qui me faut c'est une alternative a scanf, et un moyen de resoudre erf (algorithme de horner, methode des trapezes...)


Message édité par nakor le 23-10-2009 à 12:26:04
mood
Publicité
Posté le 23-10-2009 à 10:46:41  profilanswer
 

n°1934801
Elmoricq
Modérateur
Posté le 23-10-2009 à 10:49:31  profilanswer
 

Pour l'alternative à scanf() : fgets() + une fonction de conversion quelconque (strtod(), strtol(), etc)
 
Pour l'algo, je déplace ton topic dans la catégorie "Algorithme" dans laquelle il trouvera plus de réponses.

n°1934835
Un Program​meur
Posté le 23-10-2009 à 11:35:00  profilanswer
 

Il y a une fonction erf() dans C99 (mais pas C90), declaree dans <math.h>.  De memoire, elle correspond a un usage plus ancien au moins sous Unix.

 

Au pire, tu peux chercher dans l'implementation de la libc d'un BSD, la license devrait ne pas te poser de probleme.


Message édité par Un Programmeur le 23-10-2009 à 11:35:52

---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1934864
nakor
Posté le 23-10-2009 à 13:14:03  profilanswer
 

le problème c'est que je ne peux pas utiliser une fonction existante de erf(), il faut que je programme un algorithme pour déterminer les valeurs de erf ainsi que l'erreur associé... Mais je peux utiliser un algorithme déjà existant, si je connais la source.

n°1934884
rufo
Pas me confondre avec Lycos!
Posté le 23-10-2009 à 14:28:52  profilanswer
 

qu'est-ce qui te dérange à utiliser l'une des approximations données dans wikipedia :??: En plus, c'est fait exprès pour ceux qui codent en C ou fortran (c'est précisé dedans)...
Sinon, ben tu cherches un algo de calcul d'intégrale (méthode des rectangles, des trapèzes...) : http://fr.wikipedia.org/wiki/Calcu [...] C3%A9grale


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1934888
nakor
Posté le 23-10-2009 à 14:46:34  profilanswer
 

ce qui me dérange ce que c'est un exercice. le plus important c'est de programmer le calcul d'une intégrale, pas vraiment le résultat.
 
EDIT : je viens de regarder le lien pour le calcul d'intégral par la méthode des trapèzes, le problème, c'est que je n'aurai pas d'estimation de l'erreur. Cette méthode est plus adapte au polynôme.
Peut être avec la methode de laplace mais la je ne connais pas, donc je bloque un peu.


Message édité par nakor le 23-10-2009 à 14:52:11
n°1934935
rengzehn
Posté le 23-10-2009 à 16:51:27  profilanswer
 

bhen utilise le développement en série, c'est le plus simple ( et surement ce qu'on te demande d'appliquer), la méthode des trapèzes je vois pas trop comment tu peux l'appliquer et si tu cherches une solution d'approche numérique nouvelle et originale, bon courage :) (tu auras ta page dans wikipedia)

n°1934942
nakor
Posté le 23-10-2009 à 16:59:27  profilanswer
 

je laisse la page libre dans wikipedia au courageux/
je vais m'attaquer aux séries c'est plus sympa, je vous tiendrai au courant de mon résultat

n°1934988
Joel F
Real men use unique_ptr
Posté le 23-10-2009 à 19:32:05  profilanswer
 

regarde dans cephes ou crlibm si elle est dedans.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  resoudre numeriquement erf(x), et alternative a scan f

 

Sujets relatifs
Outlook 2007 et format mime multipart/alternativeFonction recherchev alternative
demande alternative au Header("Location: ...")alternative a __autoload() ?
[php] Scan de dossiers, sous dossier, et récupération du cheminUne alternative au switch case, le dictionnaire!!
Scan de dossier d'imageaidez moi pour resoudre cet exercice de c++
aidez moi pour resoudre cet algorithme 
Plus de sujets relatifs à : resoudre numeriquement erf(x), et alternative a scan f


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR