moindre carrés - Programmation
Marsh Posté le 15-11-2001 à 12:47:47
Bon, j'ai trouvé ça :
http://math.clg.qc.ca/PageNG1.html
Si je pouvais trouver le code C correspondant, ce serait le paradis!
vw
Marsh Posté le 15-11-2001 à 14:16:11
Pour les "matheux", y a Numerical Recipes http://www.ulib.org/webRoot/Books/ [...] kcpdf.html, chap 15.2 "Fitting Data to a Straight Line" 661.
J'ai le livre sur les genoux, mais je n'arrive pas à retrouver l'exemple avec le nuage de points. La vieillesse !
Y a qq temps, y avait une URL où algo en Basic pour "fiter" en moindre carrés les polynômes (donc ax + b). L'ai perdue.
Marsh Posté le 15-11-2001 à 14:23:41
Finalement, la méthode http://math.clg.qc.ca/PageNG1.html est bien décrite. C'est l'algo que j'avais récupéré dans la doc de ma (vieille) calculette HP33E à diodes rouges (les cristaux liquides n'existaient pas encore).
Il faut une variable SX2 qui fait la somme de tous les X au carré, SY2 pour les Y2, une SXY qui fait les sommes des produits X par Y, etc... Après c'est assez simple : règle de trois.
C'est un bon exercice. On l'a fait en Fortran en avant dernière année d'école de chimie.
Marsh Posté le 15-11-2001 à 14:42:20
Combi_A_Vendre a écrit a écrit : Salut à tous, Pour dans une heure, il me faudrait ça : Dans un nuage de points, il me faut l'équation de la droite qui se rapproche le plus des points. Ne serait-ce pas les moindres carrés? Si oui, quelqu'un n'aurait-il pas le code C d'une librairie qui ferait ça? merci, vw |
Tout le Pb est la...
soit tu considere cela verticalement -> regression lineaire
soit tu considere cela comme la distance d'un point a une droite, et la les choses sont differentes...
Marsh Posté le 15-11-2001 à 14:51:14
Bon, j'ai trouvé ça, et ça me va, je le mets si ça interesse quelqu'un.
Merci beaucoup à vous pour votre aide.
sx := 0.0
sx2 := 0.0
sxy := 0.0
sy := 0.0
!initialisations des sommes!
pour k de 1 à n faire
!on va traiter les n couples de nombres!
sx := sx + x[k]
sx2 := sx2 + x[k]* x[k]
sxy := sxy + x[k] * y[k]
sy := sy + y[k]
fpour
den := n * sx2 - sx^2
!évaluation du dénominateur!
g := (sy * sx2 - sxy * sx)/den
h := (n * sxy - sy * sx)/den
!calcul des deux coefficients!
[edtdd]--Message édité par Combi_A_Vendre--[/edtdd]
Marsh Posté le 15-11-2001 à 15:24:22
Ca ressemble à ce que j'avais fait en QBasic. En C, ça doit aller BEAUCOUP plus vite.
C'est bien, on pourra le trouver tout fait maintenant.
Marsh Posté le 15-11-2001 à 12:40:06
Salut à tous,
Pour dans une heure, il me faudrait ça :
Dans un nuage de points, il me faut l'équation de la droite qui se rapproche le plus des points.
Ne serait-ce pas les moindres carrés?
Si oui, quelqu'un n'aurait-il pas le code C d'une librairie qui ferait ça?
merci,
vw
[edtdd]--Message édité par Combi_A_Vendre--[/edtdd]
---------------
The best way to accelerate a computer running windows is at 9.8m.s-2