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 :

la fonction rand random


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 18
    Points : 4
    Points
    4
    Par défaut la fonction rand random
    Bonjour
    j'ai un algorithme d'optimisation qui explore l'espace de recherche en 2 phase (deux boucle While);
    dans la 2eme phase je veux changer la fonction rand ( random générateur de nombre pseudo aléa ) par une fonction ou par un autre générateur
    par exemple ci vous pouvez la fonction u_{n+1}= 3. u_n(1-u_n)
    je reste a votre dispo pour autre info
    merci

    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
    19
    20
    21
    22
    23
    24
     
     
    while k<(m1)
      1ere phase
    end
    while k<(m1+m2)
        if rand<.5
            x1=xbest+landa*z(1,1)*abs(high(1,1)-xbest);
        else
            x1=xbest-landa*z(1,1)*abs(xbest-low(1,1));
        end
            if rand<.5
            x2=ybest+landa*z(1,2)*abs(high(1,2)-ybest);
        else
            x2=ybest-landa*z(1,2)*abs(ybest-low(1,2));
            end
        fit=-exp(-0.4*(sqrt(x1^2+x2^2))+3*(cos(2*x1)+sin(2*x2)));
        if fit<best_fit
            xbest=x1;ybest=x2;
            best_fit=fit;
        end
        k=k+1;
        plot(k,best_fit);
    end

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Pour générer des nombres aléatoires suivant les lois classiques: rand, randn, mvnrnd, exprnd etc
    Pour une séquence à discrépance faible (tu parles d'explorer l'espace) -> sobolset

    u_{n+1}= 3. u_n(1-u_n)
    ?? ca ressemble à un relation de récurrence, pas à une loi de probabilité. Tu cherches une loi conditionnelle aux dernières valeurs ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Bonjour
    et merci
    une autre reformulation de ma question
    comment montrer qu'une suite est aléatoire?
    par exemple une suite chaotique comme la suite logistique
    pour k proche de 4. est ce qu'elle est aléatoire.

    Un+1=(k)∗Un∗(1−Un)

    -Est ce que on peut la considérer comme un générateur de nombre pseudo aléa? et comment programmer ce générateur sous matlab?

    the invariant measure of logistic map is \pi ^{-1}x^{-1/2}(1-x)^{-1/2}

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Tu peux calculer facilement cette suite x(n) par une fonction Matlab récursive. Elle génère des nombres pseudo aléatoires dont tu as donnée la loi.

    Pour repasser à une variable uniforme, il faut prendre u(n)= F(x(n)), ou F est la fonction de répartition,
    F= integrale de t=0 à x de \pi ^{-1}t^{-1/2}(1-t)^{-1/2}.
    Il existe aussi des méthodes de rejet type ziggourat si F est trop embêtante à calculer.

    Je ne pense pas qu'elle aie de meilleurs propriétés que les choix de matlab par défaut.

Discussions similaires

  1. la fonction rand()
    Par bonomsoleil dans le forum C
    Réponses: 10
    Dernier message: 16/11/2006, 22h43
  2. [Mail] valider par mail un formulaire et fonction rand
    Par guillaume2vo dans le forum Langage
    Réponses: 2
    Dernier message: 17/09/2006, 20h37
  3. fonction rand() sur liste ?
    Par debutant-1 dans le forum C
    Réponses: 10
    Dernier message: 24/05/2006, 10h58
  4. Algo de la fonction RAND
    Par booby dans le forum C
    Réponses: 3
    Dernier message: 21/04/2006, 14h25
  5. fonction rand() php
    Par taka10 dans le forum Langage
    Réponses: 5
    Dernier message: 12/04/2006, 13h35

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