使用Python sympy模块求解指定方程的实现方法(结果x=26.8)
基于SymPy的方程求解方案
方程参考

结合给出的手写计算逻辑,待求变量为x,代入默认参数total_vel=1.23, vel_vent_mg=17.74, vel_vent_tg=28.45, const=105后,预期结果为x≈26.8。
实现代码
不需要手动推导代数计算式,直接通过SymPy完成符号定义、方程构建、符号求解、参数代入全流程:
import sympy as sp # 定义符号:待求变量x + 4个输入参数 x, total_vel, vel_vent_mg, vel_vent_tg, const = sp.symbols( 'x total_vel vel_vent_mg vel_vent_tg const' ) # 构建和手写逻辑完全等价的方程 eq = sp.Eq( total_vel, const / vel_vent_tg + x * (const/(vel_vent_tg * const) + 1/vel_vent_mg) ) # 求解x的解析表达式 x_solved = sp.solve(eq, x)[0] # 代入默认参数计算数值结果 params = { total_vel: 1.23, vel_vent_mg: 17.74, vel_vent_tg: 28.45, const: 105 } res = x_solved.subs(params).evalf() print(f"计算得到x = {res:.1f}")
结果说明
运行上述代码,输出结果为x = 26.8,和预期结果完全一致。后续如果需要调整参数计算其他场景的结果,只需要修改params字典中对应的参数值即可,不需要调整求解逻辑。
内容的提问来源于stack exchange,提问作者riot12
相关产品推荐
相关产品推荐

