温馨提示:本文翻译自stackoverflow.com,查看原文请点击:python - solving equations with simpy sympy.core.relational.Equality
python solver sympy

python - 用simpy sympy.core.relational.Equality解方程

发布于 2021-01-02 13:40:34

我在sympy.core.relational.Equality类型中有两个方程式: 在此处输入图片说明

我也知道V_du = 250e-6。可以通过解析将S替换为D并求解S的方程。我想知道是否有任何方法可以使用sympy求解器来完成。

预先感谢

查看更多

提问者
guiprado
被浏览
44
mathfux 2020-08-28 18:42

刚开始时,您有3个未知变量和2个方程,因此可以为S求解D包含3对形式为(f(V),g(V))的解决方案,其中f和g是包含V的表达式。然后,您可以迭代这些对并使用替换:

import sympy as sp
S, D, Vdu = sp.symbols('S D Vdu')

eq1 = sp.Eq(S, D)
eq2 = sp.Eq(Vdu, sp.pi**2*S*D**2/4)

solution = sp.solve((eq1, eq2), (S, D))
substituted_solution = [(s.subs({Vdu : 250e-6}), d.subs({Vdu : 250e-6})) for s, d in solution]