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

带有两个三角函数的方程用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 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制