添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
weixin_57972756 2021-11-02 11:55 采纳率: 50%
浏览 1372
已结题

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

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

想问问大家,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)
        0 

2 条回答 默认 最新

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

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

    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))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?
    按下Enter换行,Ctrl+Enter发表内容
  • 「已注销」 2021-11-02 11:57
    关注

    把底下那行的 sympy. 都去掉

    本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?
    按下Enter换行,Ctrl+Enter发表内容
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 修改了问题 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 关于#python#的问题:python使用selenium的find_elements爬取京东搜索页面的商品数据时所有元素都是第一个商品,请问佬们这是京东的反爬机制还是我的代码出错了 网络技术合作开发邀请 用链表封装多项式,并且实现其数学运算,求个代码 Matlab强化学习遇到不解的问题(有偿) SQL Server 2016 在数据库中创建表时显示“不支持用该后端版本设计数据库关系图或表”。 倒序输出 100 以内所有3的倍数,数据之间以单个空格分割, 每五个数换一行 下载mxnet失败,显示In the future `np.bool` will be defined as the corresponding NumPy scalar. SolVES模型4.1版本使用问题!!