#python #sympy #solver
#python #sympy #решатель
Вопрос:
У меня есть два уравнения в sympy.core.relational.Тип равенства:
Я также знаю, что V_du = 250e-6. Аналитически можно заменить S на D и решить уравнение для S. Я хочу знать, есть ли какой-либо способ сделать это с помощью решателей sympy.
Заранее благодарю
Ответ №1:
В начале у вас есть 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]
Комментарии:
1. Большое вам спасибо, я был решен двумя заменами с использованием .subs().subs(), но ваш метод для меня более полезен. Я очень благодарен, еще раз спасибо 🙂