INTERPOLATION POLYNOMIALE

Contenu du snippet

 Function Interpoly(x() As Double, y() As Double, Xp As Double) As Double 
'   INTERPOLATION POLYNOMIALE de même degré que le nb de points données (x,y) 
'   par la methode de Aitken. Renvoi yp pour xp donné quelconque. 
 
'   Paramètres 
    Dim n As Long, j As Long, i As Long 
 
'   Algo 
    n = UBound(y) 
    For j = 1 To n - 1 
        For i = j + 1 To n 
            y(i) = (y(j) * (x(i) - Xp) - y(i) * (x(j) - Xp)) / (x(i) - x(j)) 
        Next i 
    Next j 
 
'   Renvoi 
    Interpoly = y(n) 
 
End Function

Sub Test() 
' TEST (avec l'équation particulière y=x^2) 
 
'   Paramètres 
    Dim ValeurX() As Double 
    Dim ValeurY() As Double 
    Dim Tempo1() As String 
    Dim Tempo2() As String 
    Dim Nb As Long, t As Long 
    Dim Xp As Double 
     
'   Valeurs connues 
    Tempo1 = Split("1 2 4 8")   ' les Xi 
    Tempo2 = Split("1 4 16 64") ' les Yi 
     
'   Conversion des valeurs en numériques 
    Nb = UBound(Tempo1) 
    ReDim ValeurX(Nb), ValeurY(Nb) 
    For t = 1 To Nb 
        ValeurX(t) = CDbl(Tempo1(t - 1)) 
        ValeurY(t) = CDbl(Tempo2(t - 1)) 
    Next t 
 
'   Valeur interpolée pour xp = 10 
    Xp = 10 
    MsgBox "pour x=" & Xp & " y=" & Interpoly(ValeurX, ValeurY, Xp) 
 
End Sub


Compatibilité : VB6, VBA

Disponible dans d'autres langages :

A voir également

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.