• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Interpolatie functie in excel?

Status
Niet open voor verdere reacties.

bleastan

Gebruiker
Lid geworden
13 okt 2010
Berichten
5
hallo mensen hier, ik heb een vraag mbt interpolatie in excel. Ik zal wel eerst vermelden dat ik eigenlijk geen excel ervaring heb omdat ik simpelweg er niet heel veel mee doe.

Maar wat ik op dit moment wil is vanuit een tabel interpolatie berekenen. Op dit moment heb ik de volgende tabel:

x 20 30 50 100
y 0.65 0.55 0.45 0.30

wat ik graag zou willen is dat excel mij de tussenliggende waarde geeft (dus ook de waarde tussen 20 en 30 uitrekenen (waarbij 25 dus op 0.60 komt te liggen). Is het mogeiljk dat excel echt een lijst geeft met deze specifieke waardes of is dit heel lastig om te doen?

Hoop dat de vraag duidelijk is, alvast bedankt.
 
Laatst bewerkt:
Via een grafiek ben ik tot dit resultaat/formule gekomen.
 

Bijlagen

In formulevorm: Y = (y2 - y1) / (x2 - x1) * (X - x1) + y1

in vba:
' INTERPOLATION IN ARRAY
' xin SHOULD BE CONTINUESLY INCREASING
Function Interpolation(X As Double, x_vec As Range, y_vec As Range) As Double
lx = x_vec.Count
'FIND LOCATION IN X-VECTOR
i = 1
While (x_vec(i) < X And i < lx): i = i + 1: Wend
If x_vec(i) = X Then
px1 = i: px2 = i
ElseIf x_vec(i) < X Then
px1 = i: px2 = i
ElseIf i = 1 Then
px1 = i: px2 = i
Else
px1 = i - 1: px2 = i
End If
'INTERPOLATION OF TWO ROWS CUBIC MATRIX
Call int(X, x_vec(px1), x_vec(px2), y_vec(px1), y_vec(px2), Interpolation)

End Function

Sub int(X, x1, x2, y1, y2, Y)
If (x1 <> x2) Then
Y = (y2 - y1) / (x2 - x1) * (X - x1) + y1
Else
Y = y1
End If
End Sub

Ik gebruik hem mbv vba....
Ik kan deze "oproepen" door "functie invoegen" dan te kiezen voor "door gebruiker gedefinieerd" en dan de functie "interpolation"

Groeten
Koos
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan