Vba求解
想用VBA自定义一个函数,求解如下方程:
x/1000*ln⁡(x/a)-2b/c*(d-e)/(f-g)=0
abcdef为已知值(可变量),初始给x赋值为a,后面迭代每次加1,直到上面公式大于0停止,返回最后的x值为计算结果。
本人也尝试写了一下函数,但是返回值为value,说明有错误,求高手指点
Function hd(a As Double, b As Double, c As Double, d As Double, e As Double, f As Double, g As Double) As Double
Dim x1 As Double, x2 As Double
x1 = a
x2 = -1
Do While x2 < 0 ' 设定迭代终止条件,这里是精度
x1 = x1 + 1
x2 = x1 / 1000 * Application.Log(2.71828182845905, x1 / a) - 2 * b / c * (d - e) / (f - g)
hd = x1 ' 返回求解结果
End Function