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

  FORUM HardWare.fr
  Programmation
  Python

  Programmation-traitement de fonctions mathématiques.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programmation-traitement de fonctions mathématiques.

n°2039120
zarnac
Posté le 29-11-2010 à 17:48:54  profilanswer
 

Bonjour,  
 
je suis actuellement en deuxième année de MASS, et j'ai un rapport à rendre dans le cadre de la programmation. Ayant vraiment peu d'expérience dans ce domaine là j'aurai besoin de votre avis par rapport à ce que j'ai fait et si possible éventuellement une ouverture pour me permettre de débloquer mes problèmes et d'avancer.
 
Le sujet est le suivant :
 
Écrire un programme opmath qui permet de réaliser diverses opérations de traitement sur une fonction mathématique dont l'expression f(x) est entrée par l'utilisateur. Le principe de fonctionnement est similaire à celui du programme stat dans lequel l'opération de traitement était spécifiée sous la forme d'un mot-clé dans la commande saisie par l'utilisateur. Néanmoins, à la différence de stat, le programme doit pouvoir correctement gérer un nombre variable d'arguments pour les différentes opérations. Voici les opérations qui doivent être réalisables :
 
    * def expression : définir expression comme la fonction mathématique à utiliser pour les opérations suivantes (cf. exemple ci-dessous). La même fonction mathématique sera utilisée tant que l'utilisateur n'aura pas défini une nouvelle fonction avec la commande def
    * val x : évaluer la fonction courante f(x) pour la valeur x
    * root xmin xmax : déterminer toutes les racines de la fonction courante f(x) sur l'intervalle [xmin, xmax]. Pour cela, le plus simple est d'utiliser la technique de la dichotomie jusqu'à obtenir une précision donnée (généralement 10e-6 est largement suffisant). Le programme doit être capable de gérer le cas des racines multiples sur l'intervalle.
    * min xmin xmax : déterminer toutes les valeurs de x qui fournissent la valeur minimale de la fonction courante f(x) sur l'intervalle [xmin, xmax]
    * max xmin xmax : déterminer toutes les valeurs de x qui fournissent la valeur maximale de la fonction courante f(x) sur l'intervalle [xmin, xmax]
    * area xmin xmax : déterminer l'aire comprise sous la fonction courante f(x) pour l'intervalle [xmin, xmax]. Pour cela, le plus simple est d'utiliser la méthode des trapèzes avec un pas d'échantillonnage donné (généralement, utiliser 10e6 échantillons sur l'intervalle est largement suffisant)
 
Exemple d'exécution :
 
================================================================================
OPMATH : perform miscellaneous processing on a mathematical function
================================================================================
Note : enter an empty line to stop the interaction loop
<> Enter command : def x*x - 1
f(x) = x*x - 1
<> Enter command : val 2.0
f(2.0) = 3.0
<> Enter command : min -2.0 3.0
min in [-2.0,3.0] : f(0.0) = -1.0
<> Enter command : max -2.0 3.0
max in [-2.0,3.0] : f(3.0) = 8.0
<> Enter command : root -2.0 3.0
root in [-2.0,3.0] : f(-1.0) = f(1.0) = 0.0
<> Enter command : area 0.0 3.0
area under [0.0,3.0] : 6.0
<> Enter command : def cos(x)
f(x) = cos(x)
<> Enter command :  
 
 
 
Mon programme est le suivant: ( sachant que je ne me suis arrêté que à "val x" ):
 
f=none
 
while 1:
    command = raw_input("Enter command: " )
    if not command:
        print "End of program."
        break
    if command.startswith('def '):
        f = command.lstrip('def ')
        print "f(x)=%s" % f
    elif command.startswith('val '):
        x = float(command.lstrip('val '))
        try:
            print "f(%f)=%f" % (x,eval(f))
        except TypeError:
            print "No function defined.
    else:
         print "Unknown command."
       
 
 
 J'ai plusieurs problèmes:  
-le programme fonctionne trés bien pour le premier exemple: x*x-1
- je ne sais pas comment faire pour implanter plusieurs fonctions , c'est à dire mettre une fonction au hasard et calculer ses images.
- la seconde chose , je ne sais pas comment calculer le min et le max sur un intervalle donné.
 
Merci de bien vouloir me répondre si possible, et de m'apporter une aide qui me permettrait d'avancer dans mon programme.
 
Cordialement  
Arnaud.

mood
Publicité
Posté le 29-11-2010 à 17:48:54  profilanswer
 


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

  Programmation-traitement de fonctions mathématiques.

 

Sujets relatifs
Quel est le langage de programmation le plus pointu ?faire une interview sur Programmation Informatique
Programmation javascript Acrobat X pro pour feuille de perso cthulhutraitement Image
Mon nouveau langage de programmationprogrammation en VBA
programmation epromProgrammation et SSD ....
cours programmation script sous Unity 3Dprogrammation java
Plus de sujets relatifs à : Programmation-traitement de fonctions mathématiques.


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