(python)求解超越方程

时间:2016-11-08 14:47:31

标签: python equation nonlinear-optimization transcendental-equation

我需要解决以下等式:

0 = -1 / x**0.5) - 2 * log((alpha * x**0.5) + beta)
给出了alpha和beta,我只需要迭代x直到某种程度。

我不是一个伟大的python程序员,但喜欢实现这个。 怎么可能这样呢?

祝你好运

1 个答案:

答案 0 :(得分:0)

最聪明的做法是实施斯坦尼斯拉夫推荐的解决功能。由于浮点运算,您不能迭代x的值直到等式达到0。您必须.floor或.ceil您的值以避免无限循环。这方面的一个例子是:

x = 0

while True:
    x += 0.1
    print(x)
    if x == 10:
        break

在这里你认为当它增加0.1到9.9时x最终达到10,但这将永远持续下去。现在,我不知道你的价值观是整数还是浮点数,但我所得到的是:不要迭代。使用已经构建的解决库。