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

C++ Discussion :

Generateur de bruit/nombre aléatoire


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Generateur de bruit/nombre aléatoire
    Bonjour à tous,

    me voilà depuis un petit moment face à un sérieux problème !
    Je voudrais utiliser la méthode de ransac, pour exclure automatiquement des valeurs aberrantes lors de l'acquisition de données.

    Cependant, avant d'en arriver là, je bute sur la génération d'un nuage de points suivant une fonction simple (de la forme ax+b) mais possèdant des outliers, c'est à dire des points qui ne suivent pas la fonction (des valeurs aberrantes en gros).

    Je sais donc que je dois affecter à mes coordonnées des valeurs de la forme :

    m_px[i] = i*(x_max-x_min)/N + x_min //ou N est le nombre total de points

    m_py[i] = A*m_px[i] + B + "outliers"

    De plus il me faut 3 paramètres:
    g1 qui est la distance minimum d'un outlier à la courbe
    g2 qui est la distance maximum d'un outlier à la courbe
    P qui va etre le pourcentage d'outliers.

    Voila, j'espere être assez clair vu que c'est encore assez confus pour moi même..
    Dans l'attente d'une aide de votre part !

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    Petites précisions: que veux tu?
    • Générer un/des jeux de test?
    • Implémenter l'algo de résolution?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    les deux en fait !
    Mais pour l'instant ce que je cherche à faire c'est tester mon programme, en insérant des valeurs aléatoires abérantes. c'est cette partie qui me chiffone, je n'arrive pas à générer mes coordonnées de points.

  4. #4
    Membre éclairé
    Avatar de Ekleog
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 448
    Points : 879
    Points
    879
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    double rand_double(double min, double max) {
        return static_cast<double>(rand()) / RAND_MAX * (max - min) + min;
    }
    D'où : (avec i le point que tu veux "aberriser", [min|max]_[x|y] les bornes)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    m_px[i] = rand_double(min_x, max_x);
    m_py[i] = rand_double(min_y, max_y);
    C'est pour mettre un point aléatoire. Est-ce que tu voulais bien ça ?

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    Ca lui génèrera sa population de base, mais je pense qu'il manque un terme supplémentaire qui ajouterait le terme (également aléatoire) 'outlier' tous les 100/p points de manière à créer les points aberrants. Quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    yBase = rand_double(min_y, max_y);
    if(rand()<RAND_MAX*p){
    m_py[i] = yBase+rand_double(yBase+g1,yBase+g2);
    }else{
    m_py[i] = yBase;
    }
    PS: romrom45 j'espère que ceci était une situation professionnelle et non un TP, sinon tu viens de te priver de l'essentiel du bénéfice de l'exercice (la réflexion personnelle, qui permet d'apprendre vraiement...)

Discussions similaires

  1. generateur de nombre aléatoire
    Par debutant100 dans le forum Débuter
    Réponses: 3
    Dernier message: 04/04/2010, 20h58
  2. Nombres aléatoires
    Par Mat 74 dans le forum Assembleur
    Réponses: 20
    Dernier message: 29/08/2004, 13h31
  3. recherche algo de génération de nombre aléatoire
    Par Pascale38 dans le forum MFC
    Réponses: 2
    Dernier message: 26/01/2004, 14h20
  4. Nombre aléatoire en SQL
    Par sqlnet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 19/08/2003, 12h38
  5. Générer un nombre aléatoire entre 0 et 1 (INCLUS !!!)
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/08/2002, 16h30

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