【问题标题】:(python) solving transcendental equation(python) 求解超越方程
【发布时间】:2017-03-22 06:04:18
【问题描述】:

我需要解以下方程:

0 = -1 / x**0.5) - 2 * log((alpha * x**0.5) + beta)

alpha 和 beta 已经给出,我只需要迭代 x 直到一定程度。

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

最好的问候

【问题讨论】:

标签: python equation nonlinear-optimization transcendental-equation


【解决方案1】:

最聪明的做法是实现 Stanislav 推荐的求解函数。由于浮点运算,您不能只迭代 x 的值,直到方程达到 0。您必须 .floor 或 .ceil 您的值以避免无限循环。这方面的一个例子是这样的:

x = 0

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

在这里,您会认为 x 在 9.9 中加上 0.1 时最终达到 10,但这将永远持续下去。现在,我不知道您的值是整数还是浮点数,但我得到的是:不要迭代。使用已构建的求解库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    相关资源
    最近更新 更多