繁体   English   中英

Sympy 无法求解这个三角方程

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM