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

Algorithmes et structures de données Discussion :

Comparaison de deux courbes


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Par défaut Comparaison de deux courbes
    Salut,

    J'ai deux courbes qui ont une forme gaussienne à peu près, leurs bornes se superposent (même pente) mais les valeurs maximales sont différentes...j'espère que vous arriviez à suivre.... je fais varier l'une des courbes jusqu'à ce que sa pente diminue par rapport à la première

    ce que je cherche à faire c'est de trouver jusqu'à quelle ordonné les pentes restent identiques

    Existe-t-il un moyen de le faire ou c'est une chose complètement
    impossible

    J'attends vos commentaires

    A+

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Si j'ai tout suivi, tu as quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            .
           . .
          . + .
         . + + .
        . +   + .
       .+       +.
      .+         +.
     +             +
    Et tu cherches à superposer les deux courbes.
    Est-ce que tu as une formule littérale (ou discrète) des courbes.
    Si tu peux modifier facilement une des deux courbes, il te suffit alors de trouver les paramètres qui minimise l'erreur entre les deux courbes :

    Rechercher les valeurs de P (ensemble des paramètres) qui minimise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e = Somme ( (C1[i]-C2[i])^2 )

  3. #3
    Membre éclairé Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Par défaut
    Salut ,

    C'est ce que je cherchais...Merci

    Citation Envoyé par JeromeBcx Voir le message
    Rechercher les valeurs de P (ensemble des paramètres) qui minimise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e = Somme ( (C1[i]-C2[i])^2 )
    Existe-t-il d'autres méthodes ou c'est la seule ?


    Merci beaucoup et à bientôt

  4. #4
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Euh.. non, je pense qu'il doit exister une multitude de méthode, mais celle là est simple à mettre en œuvre et efficace dans un contexte peu contraignant : il faut que le signal soit propre...

  5. #5
    Membre éclairé Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Par défaut


    Citation Envoyé par JeromeBcx Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e = Somme ( (C1[i]-C2[i])^2 )
    Cette méthode ne m'a pas aidée à résoudre le problème le changement de l'erreur est linéaire ce qui fait qu'il ne me permet pas de choisir un critère d'arrêt

    J'aimerais bien connaître les autres méthodes existantes si vous les connaissiez n'hésitez pas à me laisser un message

    A+

  6. #6
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par Lost in Voir le message
    le changement de l'erreur est linéaire ce qui fait qu'il ne me permet pas de choisir un critère d'arrêt
    ????

    En général, l'erreur n'est pas linéaire, elle passe par un minimum.
    Dans le cas représenté dans l'exemple graphique, quand la courbe C2 (+) est en dessous, la valeur de l'erreur est "importante" est va diminuer à mesure que l'on s'approche de C1 jusqu'à (dans la théorie) valoir 0 (C1 = C2) puis va (re)croitre lorsque C1 dépasse C2...

    En principe, on utilise la dérivée de la fonction erreur et on prend les abscisses x pour d(e(x))/dx = 0. Suivant le cas, il se peut qu'il est plusieurs solutions.

    Remarques : l'exemple est pour une variable. Dans votre cas, il se peut qu'il est plusieurs variables en jeu. Le principe reste le même mais il faut évidement prendre en compte l'influence de toute les variables.

    Comme demande Pseudocode, il serait intéressant d'avoir la fonction qui modifie C1.

    Cdt

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    une autre solution (mais je ne vois pas ce que vient faire ton critère "jusquà quel point les pentes restent identiques" ) : un simple recalage...

    Courbe 1 : min1, max1
    Courbe2 : min2, max2

    Courbe2 recalée sur courbe1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Pt - min2)/(max2 - min2))*(max1 - min1) + min1


  8. #8
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Lost in Voir le message
    je fais varier l'une des courbes jusqu'à ce que sa pente diminue par rapport à la première
    Tu fais varier "quoi" dans la courbe ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #9
    Membre éclairé Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Tu fais varier "quoi" dans la courbe ?
    Je change toutes les valeurs du vecteur

  10. #10
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Lost in Voir le message
    Je change toutes les valeurs du vecteur
    concretement, ca veut dire quoi ? Tu fais quelles opérations sur les points de ta courbe C1[i] ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #11
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par Lost in Voir le message
    ce que je cherche à faire c'est de trouver jusqu'à quelle ordonné les pentes restent identiques
    Ca m'apprendra de lire trop vite...
    Je m'a trompé chef !!! ce n'est pas une superposition que tu recherches à faire, mais regarder les pentes de tes fonctions aux bornes (c'est ça ?).

    Effectivement, dans ce cas, il faut un critère de comparaison entre les pentes de C1 et C2.
    Faire varier C1, calculer la nouvelle pente, la comparer à celle C2.
    Si le critère n'est pas atteint, continuer à faire varier C1 jusqu'à l'ordonnée (du maximum de C1 ?) soit maximale compte tenu du critère entre les pentes.
    Le critère pourrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    abs( pente(C2) - pente (C1) ) < Epsilon
    Epsilon représentant une tolérance d'erreur de pente acceptable...

    Désolé encore...

  12. #12
    Membre éclairé Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Par défaut
    Salut,

    Citation Envoyé par JeromeBcx Voir le message
    Ca m'apprendra de lire trop vite...
    Je m'a trompé chef !!! ce n'est pas une superposition que tu recherches à faire, mais regarder les pentes de tes fonctions aux bornes (c'est ça ?).
    Désolé encore...
    Oui c'est exactement ce que je cherche

    Merci pour vos réponses je vais tout essayer

    A+

  13. #13
    Membre éclairé Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Par défaut

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

Discussions similaires

  1. Comparaison de deux courbes
    Par stick25 dans le forum MATLAB
    Réponses: 8
    Dernier message: 29/07/2010, 21h17
  2. PL/SQL COMPARAISON DE DEUX TABLEAUX APRES BULK
    Par mimi_été dans le forum PL/SQL
    Réponses: 5
    Dernier message: 30/06/2009, 12h14
  3. [langage] Comparaison de deux fichiers
    Par perlgirl dans le forum Langage
    Réponses: 4
    Dernier message: 04/05/2005, 16h05
  4. [SYBASE] Comparaison de deux datetime
    Par paf15 dans le forum Sybase
    Réponses: 1
    Dernier message: 17/04/2005, 16h51
  5. Réponses: 5
    Dernier message: 06/10/2003, 17h49

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