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

MATLAB Discussion :

Programmation dans MATLAB


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Par défaut Programmation dans MATLAB
    Salut messieurs... Je veux générer aléatoirement n (entier ) nombre compris entre 0 et 100 sans le nombre 0 évidement dans le nombre 100...il faut nécessairement que la somme de tous ces nombre soit égale à 100.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2013
    Messages : 35
    Par défaut Programmation dans MATLAB
    Bonjour Brezesky,

    Je n'ai pas très bien compris ta question. Si tu souhaites générer n entiers aléatoires compris entre 1 et 100, tu peux utiliser la fonction "randi" de Matlab :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    n = 100;
    entierAleatoire = randi([1 100],1,n);
    S'il faut absolument que la somme des entiers soit égale à 100, tu as un problème quant au critère "aléatoire". En effet, imaginons que tu prennes n = 100, alors la seule possibilité est de prendre un vecteur rempli de 1 (puisque le 0 n'est pas inclus dans les possibilités) : tu n'as donc plus de critères aléatoires. Si c'est plutôt l'aspect "partition" du nombre 100 qui t'intéresse (le fait de subdiviser un entier en somme d'autres entiers), il n'existe pas à ma connaissance de fonctions prédéfinies dans Matlab. Je te recommande de regarder du côté de la communauté Matlab avec les mots clés : "Partitions of an integer", tu devrais trouver ton bonheur.

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut Programmation dans MATLAB
    Bonjour,

    Une tentative :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    clear
    n=15;
    m=0;p=99;s=0;
    while m ~= n || s ~= 100
        m=0;p=99;
        T=0; 
        for m=1:n
            T(m)=1+fix(p*rand);
            p=99-sum(T);
            s=sum(T);
            if s>99
                break
            end
        end
     
    end
    T
    s

Discussions similaires

  1. Programmation dans MATLAB
    Par Brezesky dans le forum MATLAB
    Réponses: 0
    Dernier message: 23/04/2018, 23h25
  2. Programmation dans MATLAB
    Par Brezesky dans le forum MATLAB
    Réponses: 1
    Dernier message: 23/04/2018, 20h06
  3. [Débutant] Réaliser un appel de programme dans un programme matlab
    Par esstin dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/01/2010, 21h27
  4. Réponses: 1
    Dernier message: 22/10/2007, 14h23

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