我有一个4度多项式,我试图使用以下代码找到第一个x截距:
Function Findintercept(results2 As Variant) As Double
Dim equation As Double, x As Double
'equation = results2(1)*x^4 + results2(2)*x^3 + results2(3)*x^2 + results2(4)*x + results2(5)
x = 0
equation = results(1) * x ^ 4 + results(2) * x ^ 3 + results(3) * x ^ 2 + results(4) * x + results(5)
While (equation > 0.01 Or equation < -0.01)
x = x + 0.001
equation = results2(1) * x ^ 4 + results2(2) * x ^ 3 + results2(3) * x ^ 2 + results2(4) * x + results2(5)
Wend
Findintercept = x
End Function
这个想法是保持循环遍历x的所有值,直到等式变为0然后返回x的这个值。我的逻辑有用吗?我只需要第一个x拦截!结果不一定是0,只是足够接近?
results2包含4次多项式的系数
Sample values of results2 = {-933302, 22776, 1408.6, -95.787, 1.3348}
该函数应该找到x截距..对于上面的样本大约1.26?