[英]Sympy can't solve this trigonometric equation
我正在尝试解决下面的三角方程,但它给了我这个错误:
NotImplementedError: could not solve b*tan(3*atan(6/b)/2) - 9
有没有办法让我能够同情解决下面的等式?
import sympy
from sympy import *
a = sympy.symbols("a")
b = sympy.symbols("b")
eq1 = sympy.Eq(b*tan(2*a), 6)
eq2 = sympy.Eq(b*tan(3*a), 9)
result = sympy.solve([eq1, eq2], (a,b))
print(result)
您可以使用 expand 应用三角加法公式,将所有内容简化为tan(a)
中的有理函数:
In [16]: tan(2*a).expand(trig=True)
Out[16]:
2⋅tan(a)
───────────
2
1 - tan (a)
然后可以求解方程:
In [14]: eq1, eq2 = [eq.expand(trig=True) for eq in [eq1, eq2]]
In [15]: solve([eq1, eq2], (a,b))
Out[15]:
⎡⎛ 18⋅√5⋅ⅈ⎞ ⎛ -18⋅√5⋅ⅈ ⎞⎤
⎢⎜-ⅈ⋅atanh(√5), ───────⎟, ⎜ⅈ⋅atanh(√5), ─────────⎟⎥
⎣⎝ 5 ⎠ ⎝ 5 ⎠⎦
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.