Python Sympy can';t解这个三角方程
我试图让Symphy解下面的三角方程,但它给了我这个错误:Python Sympy can';t解这个三角方程,python,sympy,Python,Sympy,我试图让Symphy解下面的三角方程,但它给了我这个错误: NotImplementedError: could not solve b*tan(3*atan(6/b)/2) - 9 有没有一种方法可以让sympy解出下面的方程 import sympy from sympy import * a = sympy.symbols("a") b = sympy.symbols("b") eq1 = sympy.Eq(b*tan(2*a), 6) eq
NotImplementedError: could not solve b*tan(3*atan(6/b)/2) - 9
有没有一种方法可以让sympy解出下面的方程
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 [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 ⎠⎦
然后它就解决不了了,希望能给你一些想法。从方程中删除
b
似乎会导致一个结果solve([Eq(tan(2*a)/6,tan(3*a)/9)],a)
i的值是多少?或者它有值吗?i
是-1
的平方根。
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 ⎠⎦