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

Mathématiques Discussion :

Lissage d'une courbe


Sujet :

Mathématiques

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Lissage d'une courbe
    Bonjour,

    je réalise un projet consistant à étudier l'efficacité d'un échangeur thermique. A l'aide des capteurs de pression, température et autre j'ai établi une formule donnant l'efficacité. Cependant le signal transmis par les capteurs est difficilement exploitable. Est-il possible de lisser ce signal grâce à matlab, si oui avec quels outils ?

    Le but serait de pouvoir étudier les variations: pentes, saut de valeur moyenne...

    Je mets en copie la courbe du signal.

    Merci de votre aide
    Images attachées Images attachées  

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Salut,

    As-tu vraiment besoin de lisser cette courbe pour trouver ce que tu cherches?

    Sinon, quel lissage veux-tu appliquer?

    Est-ce qu'une simple fenêtre glissante calculant la moyenne de x points suffit ? Faut-il quelque chose de plus compliquer?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci de ta réponse rapide

    Je voudrais pouvoir calculer la dérivée pour repérer les fortes hausses ou fortes baisses comme vers le point 1000, mais aussi pouvoir repérer les saut de valeur moyenne comme au point 800.

    Comment je peux calculer cette dérivée dans matlab ?

    Pour le moment je ne dispose que d'un vecteur regroupant les différents points de la courbe.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Pour la dérivée, tu peux regarder ce que tu donnes la commande diff

    A partir de là, tu pourras repérer les extremas...

    Pour les sauts de valeurs moyennes, tu peux tester une fenêtre glissante qui calcule la moyenne de tes x points et regarde les écarts à cette moyenne.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Regardes également un peu ceci

    En tous cas, avant de faire la dérivée (si tu y tiens vraiment car ce n'est pas nécessaire), il est certain que tu dois lisser tout ça... Soit par l'isolation de spectre de puissance soit par le tracé de la moyenne mobile qui reviens à éliminer les hautes fréquences...

    Après, c'est de la recherche de minima et maxima...

    Christophe

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Le risque avec un lissage par moyenne glissante, c'est que les petites variations comme celles autour de x=800 risquent de disparaitre...

    Enfin, je n'ai pas fait le test puisque nous n'avons pas les données. Tout dépend de la taille de la fenêtre en même temps.

    Sinon, pour l'illustration des dérivées numériques, voici un petit exemple qui permet de connaitre les maxima et minima d'une fonction donnée.

    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
    x=-4:0.1:5;
     
    f=x.^5-3*x.^4-11*x.^3+27*x.^2+10*x-24;
     
    figure
    plot(x,f,'+')
    hold on
     
    df=diff(f)./diff(x);
    xd=x(2:end);
     
    plot(xd,df,'r')
    grid
     
    produit=df(1:end-1).*df(2:end);
    local=xd(produit<0)
     
    hold on
    scatter(local,zeros(4,1),'.k')

  7. #7
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Est-il possible de lisser ce signal grâce à matlab, si oui avec quels outils ?
    Avant de chercher un outil dans Matlab, il est essentiel de bien comprendre le problème, puis de déterminer les algorithmes les plus adéquats. C'est pourquoi je transfère cette discussion dans le forum algo/maths.
    Un point important est de savoir si les pointes que l'on observe sur ton graphe sont du bruit, que tu dois éliminer, ou s'ils correspondent à des phénomènes physiques que tu dois prendre en compte.
    Jean-Marc Blanc

  8. #8
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 455
    Points
    1 455
    Par défaut
    Citation Envoyé par camounette Voir le message
    Bonjour,

    je réalise un projet consistant à étudier l'efficacité d'un échangeur thermique. A l'aide des capteurs de pression, température et autre j'ai établi une formule donnant l'efficacité. Cependant le signal transmis par les capteurs est difficilement exploitable. Est-il possible de lisser ce signal grâce à matlab, si oui avec quels outils ?

    Le but serait de pouvoir étudier les variations: pentes, saut de valeur moyenne...

    Je mets en copie la courbe du signal.

    Merci de votre aide
    L'informatique ne permet jamais de rattrapper une expérience mal conduite. (Sauf miracle)
    Etudier des variations sans savoir s'il s'agit de vrais phénomènes ou de défaillance des capteurs est suicidaire.
    Lisser un signal avant de l'analyser est tout aussi dangereux.
    Bon courage !

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Bonjour,

    C'est pourquoi utiliser la moyenne glissante est généralement la méthode à utiliser sur des mesures issues de capteurs en thermodynamique.

    Un petite analyse en fréquence pourrait avoir une utilité pour confirmer.

    Il pourra recommencer autant de fois son expérience, que le signal obtenu ne changera pas beaucoup...

    Christophe

  10. #10
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    L'informatique ne permet jamais de rattrapper une expérience mal conduite. (Sauf miracle)
    mais elle permet parfois de camoufler les erreurs !!!
    Jean-Marc Blanc

  11. #11
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 455
    Points
    1 455
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    mais elle permet parfois de camoufler les erreurs !!!
    provisoirement.
    mais quand l'erreur devient catastrophe...

  12. #12
    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
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    mais elle permet parfois de camoufler les erreurs !!!
    Jean-Marc Blanc
    Par expérience, je dirais surtout qu'elle permet souvent d'en ajouter.

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Corrèze (Limousin)

    Informations forums :
    Inscription : Mai 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut lissage de courbe
    bonjour
    j'ai presque le même problème on me demande dans mon stage de lisser une courbe enregistrée par un capteur avec le programme matlab mais en fait je n ai que les données numériques et la courbe extraite du logiciel qui accompagne matlab mais je ne sais pas comment faire avec matlab si je n'ai pas de fonction qui décrit la courbe pour pouvoir l'utiliser.

    merci

  14. #14
    Expert éminent sénior

    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
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Si on te le demande dans un stage, c'est que normalement tu dois pouvoir te renseigner soit dans les bouquins disponibles là où tu travailles, soit auprès des gens avec qui tu travailles.. Ou dans l'aide matlab...

    Il y a plein de possibilités de lisser des courbes...

  15. #15
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Si tu veux les "fortes" et que tu as une idée de ce que tu nommes "fortes", je te conseille alors d'utiliser les H-minima/H-maxima.

Discussions similaires

  1. lissage d'une courbe + masquage
    Par Torx26 dans le forum 2D
    Réponses: 4
    Dernier message: 02/03/2011, 21h58
  2. Lissage d'une courbe XY
    Par mad_dream dans le forum LabVIEW
    Réponses: 1
    Dernier message: 09/08/2010, 22h25
  3. Lissage d'une courbe en 3D
    Par benoitbs dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/05/2009, 00h27
  4. Méthode lissage d'une courbe de vitesse
    Par fredg142 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 14/11/2008, 01h32
  5. Lissage d'une courbe sur graph XY
    Par Marc29 dans le forum LabVIEW
    Réponses: 4
    Dernier message: 13/08/2008, 15h44

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