Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1497 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Lisser une courbe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lisser une courbe

n°1000769
AlphaZone
Posté le 04-03-2005 à 15:30:53  profilanswer
 

Bonjour à tous.
 
Je vais vous expliquer mon sujet en résumé:
Je dois réaliser un logiciel pour une entreprise qui réalise des pièces automobiles. Ces pièces sont testées sur un banc d'essai.
Je dois faire afficher une courbe à partir des résultats relevés par l'automate.
L'entreprise me demande de lisser cette courbe.
Après demande d'information, on ma conseillé d'utiliser la méthode des moindres carrées.
 
Mes questions sont:
- Existe-t-il une fonction qui permet de mettre en oeuvre la méthode des moindres carrées ?
- Sinon, quelle est la formule pour que je puisse lisser celle-ci ?
 
Merci d'avance, à bientot.

mood
Publicité
Posté le 04-03-2005 à 15:30:53  profilanswer
 

n°1000798
nathan_g
Posté le 04-03-2005 à 15:48:39  profilanswer
 

La "formule" est très simple et peut-être trouvée par Google.
 
Ce que je me pose plutôt comme question, c'est quelle genre de courbes tu veut choisir pour faire ton lissage (une droite, une exponentielle ...). C'est la première question a se avoir.

n°1001092
AlphaZone
Posté le 04-03-2005 à 17:55:15  profilanswer
 

C'est une courbe quelconque étant donné que l'automate récupère des points d'un test effectué sur une pièce métallique et donc la courbe n'est pas constante, il y a des hauts et des bas.

n°1001106
Evadream -​jbd-
Posté le 04-03-2005 à 18:07:40  profilanswer
 

gnuplot smooth bezier par exemple :)
http://theochem.ki.ku.dk/on_line_d [...] tml#IDX264

n°1001107
nathan_g
Posté le 04-03-2005 à 18:08:35  profilanswer
 

Je répète ma question : une fois que tu as tout tes points, tu cherches à les approcher par une courbe, qui ne passera donc pas par ces points mais à leur proximité (d'après ce que je comprends).
Dans ce cas, quelle forme de courbe souhaites tu prendre pour approcher tes points : une droite (courbe y = a x + b), une parabole (y = a (x-b)^2 + c), ...
 
Je me demande si tu ne cherches pas plutot une courbe qui passerait par tous les points et dont la dérivée serait continue, genre "bézier" ?

n°1001109
nathan_g
Posté le 04-03-2005 à 18:09:43  profilanswer
 

Zut, Evadream - jbd- a été plus rapide que moi pour parler de Bézier.
 
NB : Dans ce cas, ce problème de Bézier n'a rien à voir avec la méthode des moindres carrés.

n°1001131
AlphaZone
Posté le 04-03-2005 à 18:35:05  profilanswer
 

Non pas une courbe de type bézier.
 
Une courbe dans le genre (J'vais parlé un peu de physique):
Dans le cas du traitement numérique du signal:
On a un signal entrant. Ce signal a des parasites. Et ce que je souhaite, c'est éliminer ces parasites grâce au "filtre anti-repliment".
 
Donc pour en revenir au sujet, je veux une courbe qui se rapproche des points non pas de type droite (ax+y), ni de type parabolique. Et pour éliminer ces "parasites", il faut que j'utilise la méthode des moindres carrées. A moin qu'il existe une autre solution.

n°1001288
chrisbk
-
Posté le 04-03-2005 à 20:56:31  profilanswer
 

tu peux les eliminers avec la méthode des tetes aux carrés [:mad666]

n°1001404
Evadream -​jbd-
Posté le 04-03-2005 à 22:59:35  profilanswer
 

En gros, ce que tu aimerais c'est trouver dans tes données les "parasites". Je m'y connais pas, donc je vais surement dire des bêtises. Si tu appliques une méthode de type moindre carrés, les parasites auront une influence, tu ne les éviteras pas.
 
Il te faut qqchose de plus "robuste", pourquoi pas une méthode des moindre s carrés médian (LMS/Least Median Squares, avec ca tu devrais trouver de la doc sur google) ? Ca te "détectera" les parasites.  
 
Mais ca ne résoudra pas le problème je pense (connerie inside ?), car pour appliquer un LMS, il faut que tu te donnes un modèle sur lequel tu veux effectuer ta regression (linéaire, non linéaire...).
 
Une fois que tu as déterminé les parasites, il faut que tu "cales" un modèle sur les points restants. A toi de choisir le modèle à plaquer sur ton jeu de données nettoyé.
 
A prendre avec des pincettes hein [:ddr555]


Message édité par Evadream -jbd- le 04-03-2005 à 23:00:47
n°1001522
AlphaZone
Posté le 05-03-2005 à 00:02:34  profilanswer
 

J'vais me documenter sur la méthode des moindres carrées médian. J'vais voir ce que ca peut donner.
 
MErci à tous, je vous tiendrais au courant.

mood
Publicité
Posté le 05-03-2005 à 00:02:34  profilanswer
 

n°1001652
JeSuisPasU​nNumero
Posté le 05-03-2005 à 10:54:35  profilanswer
 

Filtres de Savitzky-Golay :sol:  
Un chapitre leur est consacres dans le Numerical Recipes:
http://www.library.cornell.edu/nr/bookcpdf/c14-8.pdf

n°1001714
Evadream -​jbd-
Posté le 05-03-2005 à 12:58:23  profilanswer
 

Effectivement, c'est chouette :)
Je connaissais pas du tout ! Merci ! @+

n°1001830
HelloWorld
Salut tout le monde!
Posté le 05-03-2005 à 17:06:04  profilanswer
 

Dans le genre simple et efficace, le lissage par moyennes locales peut donner de très bons résultats...
Sinon si tu veux éliminer des parasites c'est pas un lissage que tu veux mais un filtrage => traitement du signal.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1004031
AlphaZone
Posté le 07-03-2005 à 20:45:50  profilanswer
 

Merci pour la DOC JeSuisPasUnNumero. Je pense que ca va me servire.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Lisser une courbe

 

Sujets relatifs
Courbe et axe SVGFaire uen courbe a partir d'un fichier plat sur une page web ?
Enveloppe de courbe[PHP][Jpgraph] Need Help pour faire des arrondis de courbe
Affichage de courbe avec Qtbesoin d'aide sur excel pour une courbe de temps...
[C] dessiner une courbe ?[HTML]Comment "lisser" l'affichage d'infos bulles et les arrondir ?
[PHP] Comment faire un graphique(courbe) à partir d'une table sql ?[VB6] Lisser une courbe URGENTISSIME c'est pour 21 heures
Plus de sujets relatifs à : Lisser une courbe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR