如何用vba在excel中自定义一个函数要求根据温度,如150,自动判断区间,插值计算出相应的焓值,差不多向forecast()这样的函数,但是要求是在两个温度间按直线插值,而不是整个组线性拟合
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 19:33:02
如何用vba在excel中自定义一个函数要求根据温度,如150,自动判断区间,插值计算出相应的焓值,差不多向forecast()这样的函数,但是要求是在两个温度间按直线插值,而不是整个组线性拟合
如何用vba在excel中自定义一个函数
要求根据温度,如150,自动判断区间,插值计算出相应的焓值,差不多向forecast()这样的函数,但是要求是在两个温度间按直线插值,而不是整个组线性拟合
如何用vba在excel中自定义一个函数要求根据温度,如150,自动判断区间,插值计算出相应的焓值,差不多向forecast()这样的函数,但是要求是在两个温度间按直线插值,而不是整个组线性拟合
我是来学习的,因为我不太清楚什么是插值 什么是直线 什么是线性 ,
我猜测直线插值,就是按比例插值(如果这里猜测错了,楼主就不用往下看了,但请指教)
150焓值=(266.36-132.43)/(200-100)*(150-100)+132.43=199.395
自定义公式为:
Function ForecastII(x, known_y, known_x) As Integer
Dim xRange
Dim xMin
Dim xMax
Dim yRange
Dim yMin
Dim yMax
Dim i
xRange = known_x
yRange = known_y
For i = 1 To UBound(xRange)
If xMin "" Then
xMax = xRange(i, 1)
yMax = yRange(i, 1)
Exit For
Else
End If
If x > xRange(i, 1) Then
xMin = xRange(i, 1)
yMin = yRange(i, 1)
Else
End If
Next
ForecastII = (yMax - yMin) / (xMax - xMin) * (x - xMin) + yMin
End Function
'(forecasetII 和forecaset的用法一样
'=ForecasetII(150,"焓值表","温度区间表")