Besoin d'un code vb de fonction d'interpolation non linéaire pour prévisions

Résolu
cs_tchanou Messages postés 3 Date d'inscription mercredi 23 juin 2004 Statut Membre Dernière intervention 23 août 2005 - 19 août 2005 à 11:15
cs_Deuxfleurs Messages postés 19 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 9 mars 2006 - 19 août 2005 à 11:59
Bonjour à tous.
J'ai un besoin urgent et je sollicite votre aide.
J'ai besoin d'un code vb (une fonction,...) qui me permette de faire un interpolation non linéaire (polynômiale degré 2,3,...) sur un ensemble de valeurs numériques.
J'ai besoin que ce code me permette, à partir des couples de valeur (xi,yi) données, de déduire une valeur yn+1 inconnue correspondant à une donnée xn+1 connue (couple (xn+1,yn+1)).

Merci d'avance.

1 réponse

cs_Deuxfleurs Messages postés 19 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 9 mars 2006 1
19 août 2005 à 11:59
La plus simple des interpolations est l'interpolation polynomiale de Lagrange. Le degré du polynome interpolateur est à alors inférieur ou égal au nombre de points à interpoler.

Si xi et yi sont tes tableaux respectivement d'abscisses et d'ordonnées et x le point ou tu veux évaluer ton polynome, l'algorithme de l'interpolation de Lagrange ressemblera à ça :

' Calcul des polynomes de Lagrange en x
For i = 0 To UBound(xi)
li(i) = 1
For j = 0 To UBound(xi)
If i <> j Then
li(i) = li(i) * (x - xi(i)) / (xi(i) - xi(j))
End If
Next
Next

' Calcul du résultat
result = 0
For i = 0 To UBound(xi)
result = result + yi(i) * li(i)
Next
1
Rejoignez-nous