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

Langage Java Discussion :

approximation d'une probabilité suivant une loi binomiale


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut approximation d'une probabilité suivant une loi binomiale
    Bonjour,
    je ne suis pas sûr que je suis dans la bonne section, mais je ne sais pas où poster (algorithme peut-être ? )
    Je cherche à approximer une probabilité dépendant d'une loi binomiale avec cette formule :

    (source Wikipedia)
    Le problème, c'est que j'obtiens très vite des overflow avec mon calcul de factorielle énorme (j'ai un n entre 200 et 250)
    Comment faire pour approximer cela ?

  2. #2
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Bonjour,

    Tu peux utiliser la classe BigInterger mais ça va grandement alourdir tes calculs vu que tu passes d'un type primitif à un objet.

    En tout cas, peux-tu nous dire ce qu'il en ait en réalité ? un feedback quoi



    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    (k parmi n) ça fait (n! / (n-k)! k!).
    Autrement dit, ça fait n * (n-1) * ... * (n-k+1) / k * (k-1) * ... 3 * 2.
    Il ne faut pas calculer toute la première partie, puis toute la deuxième partie, il faut les faire en même temps.
    Par exemple, si n est pair, tu multiplies par n/2 au lieu de multiplier par n au début et diviser par 2 à la fin.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut
    Merci beaucoup pour vos réponses :
    grâce à la réponse d'afrikha, j'ai réussi à créer un algorithme qui marche, sans passer par les BigInteger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    double choix(int n, int k){
    		double resultat = 1.0;
    		for (int i = n; i> n-k; i--){
    			resultat *= ((double)i /(double)(n-i+1));
     
     
    		}
    		return resultat;
    	}

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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