IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

Produit de deux polynomes


Sujet :

Caml

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Produit de deux polynomes
    Bonjour

    Je dois réaliser la multiplication de deux pôlynômes dits "pleins", que l'on représente sous un tableau :

    [|1;2;3|] représente 1+2X+3X²

    Le professeur nous a déjà fourni la fonction réalisant le calcul de la somme des polynomes.


    Pour ceci j'ai pensé à réaliser d'abord le calcul du produit d'un mônome par le pôlynome, fonction que j'ai déja trouvé :
    par exemple : mult_m_p [|0;0;2|] [|1;2|] renvoie bien [| 0;0;2;4|] , c'est-a-dire (2X²)*(1+2X) = 2X²+4X^3 , ceci est donc bien cohérent.

    Ensuite il m'a semblé nécessaire de créeer une fonction qui renvoie le monome de position k du polynome de longueur n
    exemple : def_monome 3 [|1;2;3;4;5;6|] renvoie [|0;0;0;4|]

    Jusque-là tout ce que jai fait me semble correct, mais je sèche sur le moyen d'assembler le tout pour rendre le produit de deux polynomes

    L'idée est d'effectuer le produit de chaque monome du polynome p1 par p2 (je sais bien définir le monome d'un polynome p1 et calculer son produit avec p2 grace aux deux fonctions précédentes) puis d'effectuer la somme de tous ces produits à l'aide de add_pol_plein , la fonction dont ont dispose déjà, mais qui ne prend que 2 arguments.


    Si p1 a 4 cases
    il faudra que je fasse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     let mult_pol_plein p1 p2 =
    add_pol_plein ( ( add_pol_plein   ( mult_m_p ( def_monome 0 p1) p2)    ( mult_m_p ( def_monome 1 p1) p2)    )   ( add_pol_plein   ( mult_m_p ( def_monome 2 p1) p2)    ( mult_m_p ( def_monome 3 p1) p2)    )
    S'il a un nombre impair de case cela differera légerement j'en suis conscient, mais mon probleme est de trouver comment décrir ceci en impératif, pour pouvoir calculer quelque soit p1.

    J'espere que ce n'est pas trop confus, et que quelqu'un pourra m'aider car je m'y arrache les cheveux !
    Merci d'avance

  2. #2
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Il ne faudrait pas stocker tes valeurs de mult_mp pour tout i entre 0 et vect_length p1 en les sommant l'une après l'autre?
    c'est à dire.tu crée une ref,et pour tout i de 1 a vect_length p1 tu remplaces k par add_pol_plein(k mult_mp(def_monome i p1))...non?comme ça tu n'en sommes que deux à la fois...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #mult_pol_plein [|1.;2.;3.|] [|1.;2.|] ;;
    - : float vect = [|1.0; 4.0; 7.0; 6.0|]
    Yahouuuu !

    Merci bien, c'était tout bête de créer cette référence, mais à force de trop réfléchir on ne voit plus les trucs les plus simples..
    Merci encore
    Salut

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    tu as obtenu ce que tu souhaitais.... si oui, penses à
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. produit de deux matrices
    Par reckahomis1 dans le forum C
    Réponses: 5
    Dernier message: 28/10/2007, 22h25
  2. Produit de deux ensembles
    Par soft0613 dans le forum Scheme
    Réponses: 12
    Dernier message: 23/10/2007, 21h23
  3. comment calculer le produit de deux nombres en PHP
    Par batalich dans le forum Langage
    Réponses: 3
    Dernier message: 12/03/2007, 10h02
  4. [OCaml] Multiplication de deux polynômes
    Par snyper_ubi dans le forum Caml
    Réponses: 1
    Dernier message: 17/10/2006, 18h12
  5. [Tableaux] produit de deux tableaux
    Par vivian dans le forum Langage
    Réponses: 8
    Dernier message: 25/07/2006, 20h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo