我有以下等式来计算电子电路中的边界电感。使用SymPy,当Lb.evalf(subs={...})
,Lb
和D
时,我可以使用f
来计算R
值。
Lb = ((1-D)**2*D*R)/(2*f)
无需重新排列等式,如果供应D
值,是否有办法解决f
,R
或Lb
?例如,除了D
之外,我知道等式中的所有值。
答案 0 :(得分:2)
您可以使用sympy来解决变量。例如:
import sympy
from sympy.abc import d,f,r,l
equation = sympy.Eq( ((1-d)**2*d*r)/(2*f), l )
print sympy.solve(equation,"f")
print sympy.solve(equation,"r")
print sympy.solve(equation,"d")
这给出了分别用f和r分析求解的方程式。
[d*r*(d - 1)**2/(2*l)]
[2*f*l/(d*(d - 1)**2)]
请注意,求解d会产生mess of solutions。这是预期的,因为方程式是d中的立方。
[-(-1/2 - sqrt(3)*I/2)*(-f*l/r + sqrt((-2*f*l/r + 2/27)**2/4 - 1/729) + 1/27)**(1/3) + 2/3 - 1/(9*(-1/2 - sqrt(3)*I/2)*(-f*l/r + sqrt((-2*f*l/r + 2/27)**2/4 - 1/729) + 1/27)**(1/3)), -(-1/2 + sqrt(3)*I/2)*(-f*l/r + sqrt((-2*f*l/r + 2/27)**2/4 - 1/729) + 1/27)**(1/3) + 2/3 - 1/(9*(-1/2 + sqrt(3)*I/2)*(-f*l/r + sqrt((-2*f*l/r + 2/27)**2/4 - 1/729) + 1/27)**(1/3)), -(-f*l/r + sqrt((-2*f*l/r + 2/27)**2/4 - 1/729) + 1/27)**(1/3) + 2/3 - 1/(9*(-f*l/r + sqrt((-2*f*l/r + 2/27)**2/4 - 1/729) + 1/27)**(1/3))]