You are on page 1of 1

Function INTERPOLAR(valor_buscado As Double, matriz_buscar_en As Range,

matriz_resultado As Range) As Double


nElementos = matriz_buscar_en.Count
For i = 1 To nElementos - 1
If valor_buscado >= matriz_buscar_en(i) And valor_buscado <= matriz_buscar_en(i
+ 1) Then
a = matriz_buscar_en(i)
b = matriz_buscar_en(i + 1)
m = matriz_resultado(i)
n = matriz_resultado(i + 1)
x = valor_buscado
INTERPOLAR = m + (m - n) / (a - b) * (x - a)
Exit Function
ElseIf valor_buscado <= matriz_buscar_en(i) And valor_buscado >=
matriz_buscar_en(i + 1) Then
a = matriz_buscar_en(i)
b = matriz_buscar_en(i + 1)
m = matriz_resultado(i)
n = matriz_resultado(i + 1)
x = valor_buscado
INTERPOLAR = m + (m - n) / (a - b) * (x - a)
Exit Function
Else
End If

Next
End Function

You might also like