weixin_57972756
2021-11-02 11:55
采纳率: 50%
浏览 117
已结题

如何用python求解三角函数方程呢?

想求解这样一个三角函数方程(其他数据都是已知的,只用求角度就行),使用sympy模块得不出解

img

img

img

想问问大家,python有什么方法可以求解三角函数方程吗?
代码如下:

from sympy import*
import math
x=Symbol('x')
T=float(input('T为多少:'))
K=float(input('K为多少:'))
a=0.196
b=0.36
A=T*(math.sqrt(math.pi*a))/K
print(solve((-4+8*b)*sin(x)+2*sin(2*x)+A*a*((-3+8*b)*sin(x/2)-5*sin(5*x/2))),x)
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 「已注销」 2021-11-02 16:00
    已采纳

    math中的sin()函数有错误,用sympy的sin()函数;
    另外,solve(fx,x)你的x的位置写到solve外面去了;
    另外,我改好了以后发现程序也是执行不出来,拆解成两部分运行后,发现后半部分的式子解不出来,查了下资料可以是要nsolve解决
    但是nsolve解出来的是近似值,精度应该也是很高的,但是,函数的x要换成0,代码在下面
    另外,你的k和t被我写死了,自己改下哈~

    img

    img

    import sympy,math
    x=sympy.Symbol('x')
    T=3
    K=5
    a=0.196
    b=0.36
    A=T*(math.sqrt(math.pi*a))/K
    fx=(-4+8*b)*sympy.sin(x)+2*sympy.sin(2*x)+A*a*((-3+8*b)*sympy.sin(x/2)-5*sympy.sin(5*x/2))
    print(sympy.nsolve(fx,0))
    
    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题