如何用vba在excel中自定义一个函数要求根据温度,如150,自动判断区间,插值计算出相应的焓值,差不多向forecast()这样的函数,但是要求是在两个温度间按直线插值,而不是整个组线性拟合
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/10 15:11:17
![如何用vba在excel中自定义一个函数要求根据温度,如150,自动判断区间,插值计算出相应的焓值,差不多向forecast()这样的函数,但是要求是在两个温度间按直线插值,而不是整个组线性拟合](/uploads/image/z/7074580-4-0.jpg?t=%E5%A6%82%E4%BD%95%E7%94%A8vba%E5%9C%A8excel%E4%B8%AD%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%E8%A6%81%E6%B1%82%E6%A0%B9%E6%8D%AE%E6%B8%A9%E5%BA%A6%2C%E5%A6%82150%2C%E8%87%AA%E5%8A%A8%E5%88%A4%E6%96%AD%E5%8C%BA%E9%97%B4%2C%E6%8F%92%E5%80%BC%E8%AE%A1%E7%AE%97%E5%87%BA%E7%9B%B8%E5%BA%94%E7%9A%84%E7%84%93%E5%80%BC%2C%E5%B7%AE%E4%B8%8D%E5%A4%9A%E5%90%91forecast%EF%BC%88%EF%BC%89%E8%BF%99%E6%A0%B7%E7%9A%84%E5%87%BD%E6%95%B0%2C%E4%BD%86%E6%98%AF%E8%A6%81%E6%B1%82%E6%98%AF%E5%9C%A8%E4%B8%A4%E4%B8%AA%E6%B8%A9%E5%BA%A6%E9%97%B4%E6%8C%89%E7%9B%B4%E7%BA%BF%E6%8F%92%E5%80%BC%2C%E8%80%8C%E4%B8%8D%E6%98%AF%E6%95%B4%E4%B8%AA%E7%BB%84%E7%BA%BF%E6%80%A7%E6%8B%9F%E5%90%88)
如何用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,"焓值表","温度区间表")