prendre les plus haut d'une courbe

prendre les plus haut d'une courbe - Algo - Programmation

Marsh Posté le 07-02-2011 à 20:20:10    

Bonjour,
 
J'ai besoin de créer un algorithme qui analyse une partie d'une courbe et isole les 4 pics les plus haut.
 
J'ai bien un algo primaire et brut, qui consiste à affilier tout les points de l'intervalle de la courbe à des variables, et à les comparer chaqune entre elle histoire de faire un classement, mais ... c'est pas super! :pfff:  
 
Apres je bloque, je ne vois pas comment je pourrais faire.
J'aurais bien tenté avec des dérivées, mais comme la courbe est très volatile, j'aurais plus d'une 100aine de retournement de la courbe, et ce sera tout aussi moche que la méthode 1.
 
Auriez vous une idée svp?
 
 
Merci d'avance!

Reply

Marsh Posté le 07-02-2011 à 20:20:10   

Reply

Marsh Posté le 07-02-2011 à 23:02:01    

Je crois qu'il n'y a que ces deux solutions.
 
Et encore, comme la courbe est dite "très volatile" (je devine que c'est une courbe de cours d'actions ou de devises), alors il est presque impossible de trouver l'équation de la courbe, et sans celle-ci, il n'est pas possible de calculer la dérivée. Donc, la deuxième solution, celle de la dérivée, me parait irréalisable.
 
Donc, il ne resterait que la première solution.
Examiner tous les points, permet de ne pas en oublier un seul, et c'est important, car sinon, celui que l'on oublierait, pourrait être l'un des quatre pics.
 
Trouver les 4 plus grand nombres dans un ensemble de 1000 nombres se fait très probablement, en moins d'un centième de seconde. Les ordinateurs actuels sont très rapides pour ce genre de choses, où toutes les données sont en mémoire. La fréquence du microprocesseur est habituellement de plus d'1 GigaHertz. Pour faire ce traitement, il faut entre 10 000 et 100 000 cycles d'horloge, donc 100 000 x 10 puissance -9 = 10 puissance -4, donc environ un millième de seconde, c'est ridicule.

Reply

Marsh Posté le 08-02-2011 à 18:53:17    

okai, merci pour ta réponse! en effet je pensais que ce serait beaucoup trop long mais tu as raisons, les calculs sont quasi instantanés!
 
Merci ;)

Reply

Marsh Posté le 09-02-2011 à 11:54:26    

Comment la courbe est-elle tracée? As-tu accès au tableau de données? Si c'est le cas, un algo de tri et zou... ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 13-02-2011 à 13:08:44    

eu qu'entends tu par "tableau de données"?
je peux entrer les valeurs des points de la courbe dans diff variables pour le faire par contre.
 
Jvais voir sur google pour les algo de tri, merci de l'info, je savais pas que ca existait.
 
Pour ceux qui veulent voir la partie "concrète" de ce sujet :
http://forum.hardware.fr/hfr/Progr [...] _1.htm#bas
 
 

Reply

Marsh Posté le 13-02-2011 à 23:29:26    

S'il y a beaucoup de points, je pense que c'est dommage de tout trier si on sait n'avoir besoin que des 4 plus grands.
Un algo de ce type devrait suffire :
- prendre les valeurs des 4 premiers points
- pour chaque point suivant : s'il est plus grand que le min des 4 déjà sélectionnés, remplacer ce min par la valeur de ce nouveau point


---------------
Doucement le matin, pas trop vite le soir.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed