如何用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 提建议
邀请回答
编辑 收藏 删除 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 
当前问题酬金
¥ 0
(可追加 ¥500)
支付方式
扫码支付
加载中...
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))
本回答被题主选为最佳回答
, 对您是否有帮助呢?
本回答被专家选为最佳回答
, 对您是否有帮助呢?
本回答被题主和专家选为最佳回答
, 对您是否有帮助呢?
1
无用
举报
按下Enter换行,Ctrl+Enter发表内容
-
「已注销」
2021-11-02 11:57
关注
把底下那行的 sympy. 都去掉
本回答被题主选为最佳回答
, 对您是否有帮助呢?
本回答被专家选为最佳回答
, 对您是否有帮助呢?
本回答被题主和专家选为最佳回答
, 对您是否有帮助呢?
举报
按下Enter换行,Ctrl+Enter发表内容
查看更多回答(1条)