3
我有下面的公式来计算电子电路中的边界电感。使用SymPy,当我有D
,f
和R
时,我可以使用Lb.evalf(subs={...})
来计算Lb
值。用SymPy求解方程的两边
Lb = ((1-D)**2*D*R)/(2*f)
,而不必重新安排的方程,有没有解决D
,如果供应Lb
值f
或R
的方法吗?例如,除了D
之外,我知道方程中的所有值。
我有下面的公式来计算电子电路中的边界电感。使用SymPy,当我有D
,f
和R
时,我可以使用Lb.evalf(subs={...})
来计算Lb
值。用SymPy求解方程的两边
Lb = ((1-D)**2*D*R)/(2*f)
,而不必重新安排的方程,有没有解决D
,如果供应Lb
值f
或R
的方法吗?例如,除了D
之外,我知道方程中的所有值。
您可以使用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))]