1 示例
求解超越方程:
2 Python代码
2.1、求解方程,获取超越方程的两个解。
from sympy import *
x=symbols('x')
y=symbols('y')
a = symbols('a')
b = symbols('b')
print(solve(a*x*x*exp(b*x)-y,x))
输出:
[2*LambertW(-b*sqrt(y/a)/2)/b, 2*LambertW(b*sqrt(y/a)/2)/b]
2.2、根据上面方程解的公式,计算x的值。
(使用下面代码时需要将2.1中的“from sympy import *”注释掉。)
import numpy as np
import math
from scipy.special import lambertw
a=np.array([1, 2])
b=np.array([1, 1])
y = np.array([math.e, 0])
result_1 = 2 * lambertw(-b * np.sqrt(y / a) / 2) / b
result_2 = 2 * lambertw(b * np.sqrt(y / a) / 2) / b
print(result_1)
prin