Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Autres langages > Algorithmes > Mathématiques

Mathématiques Forum d'entraide sur les mathématiques et l'algorithmique numérique. Avant de poster : Cours d'algorithmique numérique

Réponse
 
Outils de la discussion
Vieux 12/11/2008, 17h13   #1 (permalink)
Membre à l'essai
 
Date d'inscription: mai 2002
Messages: 41
Par défaut Diminution de courbe

Hello.

J'ai un petit soucis en algo et cela dépasse de loin mes compétences en la matière. Pour vous donner le contexte : je dois développer une librairie de courbe. Jusque là pas de problèmes. Sur cette courbe, on peut régler le début et la fin et aussi avoir un aperçu de la courbe un peu à la manière de ce qui est possible ici : http://code.google.com/apis/visualiz...dtimeline.html

Bref là où je coince c'est que je dois faire une sorte de miniature en bas de la courbe. Mais il faut que je réduise le nombre de points. En effet, il peut y avoir sur toute la courbe plus de 10000 points et il est irréaliste de tous les afficher dans la miniature. Je souhaite avoir une courbe qui représente "en gros" les données avec environ 200 points.

Je pourrais prendre un seul point tous les 50 mais cela me ferai sauter des pics ou autres. Je souhaite réduire le nombre de points et garder à peu près le même aspect.

Est-ce possible ? Comment cela s'appelle ? Connaissaient vous un bon algo ?

Merci de votre aide.

Nuwanda.

PS: Probablement que le titre du post n'est pas idéal mais je n'ai pas mieux
Nuwanda est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/11/2008, 18h19   #2 (permalink)
Modérateur
 
Avatar de ToTo13
 
Date d'inscription: janvier 2006
Localisation: Marseille, Luminy
Âge: 29
Messages: 2 515
Par défaut

Bonjour,

tu pourrais prendre des blocs de 50 points et en faire la moyenne.
Ou sinon par groupe de 50 points prendre le point de plus représentatif au sens de la variance.
__________________
- Spécialité Imagerie Numérique : reconnaissance de formes, classification, analyse d'images.
- Dans vos messages, MERCI de : respecter les règles de rédaction et du forum, de les prévisualiser, de les relire afin de corriger toutes les fautes de frappes, d'aurteaugrafe (correcteur orthographique pour FiReFox), de mettre les accents et de vérifier si vous n'avez pas oublié les balises. En bref, MERCI d'écrire clairement et en Français.
- Le coté obscur je sens dans le MP jeune padawan => Tous tes MP je détruirai si en privé tu veux que je t'enseigne.(Lis donc ceci)
- ton poste tu dois marquer quand la bonne réponse tu as obtenu.
ToTo13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 13/11/2008, 08h34   #3 (permalink)
Membre à l'essai
 
Date d'inscription: mai 2002
Messages: 41
Par défaut

Ok merci.

Donc il n'existe pas d'algo "tout prêt" pour faire cela ?
Nuwanda est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 13/11/2008, 12h35   #4 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: janvier 2007
Localisation: Vers Béziers... Et Canada
Âge: 51
Messages: 4 433
Par défaut

je dirais 2 solutions :
  • Comme l'a suggéré Toto13, une moyenne .
  • Raisonner en terme graphiques purs, et non en courbe : faire une réduction d'image.
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 15/11/2008, 00h33   #5 (permalink)
Membre émérite
 
Avatar de Nemerle
 
Date d'inscription: octobre 2003
Âge: 38
Messages: 892
Par défaut

Citation:
Envoyé par souviron34 Voir le message
je dirais 2 solutions :
  • Comme l'a suggéré Toto13, une moyenne .
  • Raisonner en terme graphiques purs, et non en courbe : faire une réduction d'image.

solution 2 ou crise de nerfs subjective
__________________
Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre
Nemerle est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/11/2008, 14h58   #6 (permalink)
Modérateur
 
Date d'inscription: avril 2007
Localisation: Fribourg (Suisse)
Âge: 68
Messages: 985
Par défaut

Salut!
Sous quelle forme ta courbe t'est-elle donnée: par son équation, par 20000 valeurs discrètes ou autrement?
Jean-Marc Blanc
__________________
Calcul numérique de processus industriels
Formation, conseil, développement

Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)
FR119492 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/11/2008, 22h58   #7 (permalink)
Expert Confirmé Sénior
 
Avatar de Graffito
 
Date d'inscription: janvier 2006
Messages: 2 524
Par défaut

Bonjour,

On applique un algo du même genre pour réduire le nombre de point de tracés géographiques (frontières, fleuves, côtes).

On définit un écart maxi EMax de distance entre courbe réelle et courbe réduite.
Partant du point Pi, on cherche le point Pk (i<k) dont l'indice k est le plus grand et tel que pour tout j entre i et k (i<j<k), la distance de Pj au segment Pi-Pk est inférieure à EMax. On peut alors éliminer tous les Pj et réitérer l'opération à partir de Pk que l'on garde et ... ainsi de suite.
__________________
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
Graffito est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/11/2008, 16h39   #8 (permalink)
Membre à l'essai
 
Date d'inscription: mai 2002
Messages: 41
Par défaut

Hello.

Merci beaucoup de votre aide, donc mes données sont 20000 points de mesures qui provienne d'un capteur. Ca n'est pas un random mais ce n'y a pas non plus de formule derrière.

Merci beaucoup pour l'algorithme géographique c'est effectivement assez proche de ce que je souhaite faire. Je testerai ca quand j'aurai un peu de temps

Merci ^^

Nuwanda
Nuwanda est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/11/2008, 18h37   #9 (permalink)
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Date d'inscription: décembre 2006
Localisation: Montpellier
Âge: 36
Messages: 4 727
Par défaut

L'algorithme géographique, je le connais sous le nom de "Douglas-Peucker".

Le principe/code est dispo sur wikipedia.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/11/2008, 19h10   #10 (permalink)
Expert Confirmé Sénior
 
Avatar de Graffito
 
Date d'inscription: janvier 2006
Messages: 2 524
Par défaut

Je ne connaissais pas "Douglas-Peucker".
Et, effectivement, les 2 algo présentent une certaine analogie, mais ne sont pas identiques. Aucun des 2 ne donne d'ailleurs la solution optimale (minimum de points) pour une distance E.
__________________
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
Graffito est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ALGOCOURS ALGOFAQ ALGOLIVRES ALGOSOURCES ALGO

Réponse

Précédent   Forum des développeurs > Autres langages > Algorithmes > Mathématiques



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide