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

cs_tchanou 3 Messages postés mercredi 23 juin 2004Date d'inscription 23 août 2005 Dernière intervention - 19 août 2005 à 11:15 - Dernière réponse : cs_Deuxfleurs 19 Messages postés vendredi 16 janvier 2004Date d'inscription 9 mars 2006 Dernière intervention
- 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.
Afficher la suite 

1 réponse

cs_Deuxfleurs 19 Messages postés vendredi 16 janvier 2004Date d'inscription 9 mars 2006 Dernière intervention - 19 août 2005 à 11:59
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.