m0_57066015 2021-06-03 11:59 采纳率: 66.7%
浏览 253
已采纳

带有两个三角函数的方程用Python如何解决?这个没有输出

x=symbols('x')
aam=20
aab=60
aaf=100
u=pi*(1-aam/aaf)



v=nonlinsolve([2*sin(0.5*(u-x))-sin(x)-pi*aab/(2*aaf)],[x])
print(v)
  • 写回答

1条回答 默认 最新

  • 小P聊技术 2021-06-03 12:15
    关注

     
    首先确定方程组有解。由一式得  ,代回带二式,解得  ,方程组有解。不过这样解只用了数学,不符题意,下面使用 Python 来迭代求解。求解该方程组,可等价于求下述二元函数的最小值。 ( 写成  以方便观看。) 这样就可以用一些最优化算法求解了,这里使用粒子群算法。import numpy as np 

    
    from math import pi, sin, cos
    from Algorithms.PSO import ParticleSwarm
    
    def cost(v : np.ndarray) -> float:
        a, b = v
        return (a * sin(b) - 25) ** 2 + (a * (139 * cos(b) - 25 * sin(b)) + 50000) ** 2
    
    search_space = np.array([
        [-500, -2 * pi],
        [500, 2 * pi]
    ])
    
    solver = ParticleSwarm(cost, 30, search_space)
    solution = solver.iteration(1000)
    
    print(solution.best_fitness)
    print(solution.best_position)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 C++ /QT 内存权限的判断函数列举
  • ¥15 深度学习GFnet理解问题
  • ¥15 单细胞小提琴堆叠图代码
  • ¥80 LS dyna mpp并行报错
  • ¥50 升级strust2版本到2.3.15.1后使用ognl3.0.6.jar windows环境中没有问题,但部署到linux环境报错
  • ¥15 vue页面,node封装接口
  • ¥15 求TMS320F280039C工程模板!
  • ¥15 delphi+fastreport实现分组补空打印问题
  • ¥15 使用python把两台mysql数据库服务器数据导出和导入
  • ¥15 NodeBB论坛配置Apache Solr中文搜索引擎的详细教程