решение уравнений с помощью simpy sympy.core.relational.Равенство

#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(), но ваш метод для меня более полезен. Я очень благодарен, еще раз спасибо 🙂