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 :

Calcul d'un médiane ou d'une moyenne


Sujet :

Caml

  1. #1
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 140
    Points : 84
    Points
    84
    Par défaut Calcul d'un médiane ou d'une moyenne
    Ma question, c'est : comment vous faites pour le calcul d'une médiane sous OCaml, non pas en terme de code, mais en terme d'accès à une fonction déjà codée ?

    En effet, j'ai besoin de calculer une médiane dune série d'entiers, et j'ai donc recodé la fonction (donnée ci-dessous à titre purement indicatif).
    Mais il n'y a pas quelque chose de natif ? J'ai regardé dans Pervasives et dans index_modules : rien.

    J'ai trouvé ceci :
    - https://github.com/nrlucaroni/pareto
    et
    - http://mmottl.github.io/gsl-ocaml/

    mais c'est quand même un marteau piqueur pour enfoncer un clou, non ? Il y a quelque chose de simple que je n'ai pas vu ?

    (mon code, juste pour mémoire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      (* val int_median : int list -> float end *)
    let int_median xs = 
        let open List in
        let n = length xs in 
        let xs = sort compare xs in
        let xm1, xm2 = nth xs ((n-1)/2), nth xs (n/2) in
        float_of_int (xm1 + xm2) /. 2.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Points : 172
    Points
    172
    Par défaut
    A priori il n'y a rien de natif. On n'est pas dans Python où l'exponentiation modulaire est accessible dans la bibliothèque standard. Je dirais que l'idée derrière c'est qu'OCaml se focalise sur les structures de données et les opérations mathématiques sont à refaire par l'utilisateur.

    Ou alors... On connaît OPAM et on trouve son plaisir ici.

    De toutes façons, installer OCaml avec OPAM c'est une bonne idée.

  3. #3
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 140
    Points : 84
    Points
    84
    Par défaut
    OK merci

    Ton conseil sur opam ça me fait penser que j'ai un problème sur mon install, je ferai un autre post pour ça à l'occasion.


    Par ailleurs, J'ai vu ton implémentation de median sur mon autre post /strategie-module/ : tu pourrais juste me dire, si c'est le cas, en quoi elle est meilleure que la mienne ci-dessus ? Merci d'avance


    JM

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

Discussions similaires

  1. [Tableaux] Calcul d'une moyenne à partir d'un tableau
    Par Mordanus dans le forum Langage
    Réponses: 13
    Dernier message: 09/05/2007, 18h03
  2. requete sql : calcul d'une moyenne
    Par timide94 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 16/01/2007, 19h12
  3. Calculer une moyenne avec une matrice
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 05/06/2006, 16h47
  4. methode qui calcul une moyenne du traffic
    Par siry dans le forum Développement
    Réponses: 7
    Dernier message: 05/05/2005, 17h16
  5. calculer une moyenne avec une requete externe
    Par allowen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2005, 16h02

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