Mightyginger
Programmer
This code seems very slow when I'm using lots of them. Does anyone have any faster code please?
Function LinearInterp(T As Variant, Trange As Variant, LRange As Variant) As Double
Dim i As Integer, max As Integer, j As Integer
On Error GoTo ErrorHandler
max = 500
For i = 1 To max
If T <= Trange(i) Then Exit For
Next i
If i = 1 Then
LinearInterp = LRange(i)
ElseIf i = max Then
LinearInterp = LRange(max)
Else
LinearInterp = ((((Trange(i) - T) * (LRange(i - 1))) + ((T - Trange(i - 1)) * (LRange(i)))) / (Trange(i) - Trange(i - 1)))
End If
Exit Function
ErrorHandler:
LinearInterp = LRange(i - 1)
End Function
Function LinearInterp(T As Variant, Trange As Variant, LRange As Variant) As Double
Dim i As Integer, max As Integer, j As Integer
On Error GoTo ErrorHandler
max = 500
For i = 1 To max
If T <= Trange(i) Then Exit For
Next i
If i = 1 Then
LinearInterp = LRange(i)
ElseIf i = max Then
LinearInterp = LRange(max)
Else
LinearInterp = ((((Trange(i) - T) * (LRange(i - 1))) + ((T - Trange(i - 1)) * (LRange(i)))) / (Trange(i) - Trange(i - 1)))
End If
Exit Function
ErrorHandler:
LinearInterp = LRange(i - 1)
End Function