Я симулирую некоторые напряжения в sympy, и у меня были проблемы с получением системы, чтобы упростить вывод.Могу ли я попросить систему не включать ненужные переменные в вывод?Я надеялся устранить V
.Я запустил:
from sympy import *
var('V1 V2 V Vout R1 R2 Rf')
solve([
-V + V1*Rf/(Rf+R1),
-V + (V2-Vout)*Rf/(Rf+R2),
], Vout)
# output: {Vout: -R2*V/Rf - V + V2}
Могу ли я сказать это, чтобы дать мне результат в терминах V1
, V2
, R1
, R2
и Rf
, но не V
?
Обратите внимание, что удаление V
вручную не является идеальным, потому что не все уравнения так просты, как эти.Когда я удалил его вручную (и решил установить R1=R2
), я обнаружил похожую проблему -
solve([
Eq(V1*Rf/(Rf+R1), (V2-Vout)*Rf/(Rf+R2)),
Eq(R1, R2)
], Vout)
# output: {Vout: (R1*V2 - R2*V1 - Rf*V1 + Rf*V2)/(R1 + Rf)}
И R1
, и R2
включены в вывод.Как я могу заставить систему устранить один?(Между прочим, исключение R2
приведет к отмене R1
.) Выход должен быть:
{Vout: -V1 + V2}
(Примечание для поклонников электроники: вы можете заметить, что это дифференциальный усилитель. Я знаю,что-то не так с исходными уравнениями. Выяснение Jupyter / sympy действительно помогло бы мне понять, в чем дело.)