gpt4 book ai didi

equation - 解方程 - 溢出错误

转载 作者:行者123 更新时间:2023-12-01 11:42:57 25 4
gpt4 key购买 nike

基本上我只想解决k。请注意,等式等于 1.12

import math
from sympy import *

a = 1.45
b = 4.1
c = 14.0

al = math.log(a, 2)
bl = math.log(b, 2)
cl = math.log(c, 2)

k = symbols('k')

print solve(Eq(1/k**al + 1/k**bl + 1/k**cl, 1.12), k)

这会引发 OverflowError: Python int too large to convert to C long

也欢迎使用其他库的解决方案。

最佳答案

由于您使用的是数值,我假设您正在寻找数值解。在这种情况下,您不应使用 solve,因为它会尝试找到符号解。这里的问题是它将这些浮点指数转换为有理指数,它们具有非常大的分子和分母,然后在某个时候尝试生成与这些大数对应的阶多项式,这就是它失败的地方。

要进行数值求解,您可以使用 nsolve

>>> print nsolve(Eq(1/k**al + 1/k**bl + 1/k**cl, 1.12), 2)
1.82427203413783

不过,如果您对数值解感兴趣,最好使用 SciPy 等数值库。您可以使用 lambdify 将 SymPy 表达式转换为更适合使用 NumPy 数组的库(如 SciPy)的函数。

关于equation - 解方程 - 溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17754966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com