evalf是取浮点数,subs是替代。下面是两个例子。
import sympy omega, t = sympy.symbols("omega, t") s = sympy.pi * sympy.cos(omega*t) print(s) #pi*cos(omega*t) print(s.evalf()) #3.14159265358979*cos(omega*t) print(s.evalf().subs({t: 0})) #3.14159265358979 print(s.subs({t: 0})) #pi
import sympy as sym def q(): a,Om = sym.symbols('a, Om') E=sym.sqrt(Om*a**(-3)+1-Om) Ediff = sym.diff(E,a) q=-(a/E)*Ediff-1 return q print(q().simplify()) #(Om + 2*a**3*(Om - 1))/(2*(Om + a**3*(-Om + 1))) print(q().subs('Om',.3).expand()) #-1 + 0.45/(0.7*a**3 + 0.3) print(q().subs([('a',.5),('Om',.3)])) #0.161290322580645 print(q().evalf(subs={'a':.5,'Om':.3})) #0.161290322580645
Smilie Vote is loading.