我如何在python dC / dt = r + kI-dC中实现这种方程,其中左侧是常数,而右侧是变量?
我对python相对较新,因此不能做太多事情。 from sympy.solvers import ode
r=float(input("enter r:"))
k=float(input("enter k:"))
I=float(input("enter I:"))
d=float(input("enter d:"))
C=float(input("enter C:"))
dC/dt=x
x=r + kI-dC
print(x)
它只是等同于x的值而不是任何微分,希望有助于使其工作。
如果可能的话,我想得到指定使用sympy的答案,但是所有答案都是值得的。
您将值分配给了x的所有变量,因此当您显示x时,您会看到它与您定义的变量一起使用的值。除了输入值外,如果可能的话,为什么不尝试以符号方式求解ode?
>>> from sympy import *
>>> var('r k I d C t')
(r, k, I, d, C, t)
>>> eq = Eq(C(t).diff(t), r + k*I + d*C(t)) # note d*C(t) not d*C
>>> ans = dsolve(eq); ans
C(t) == (-I*k - r + exp(d*(C1 + t)))/d
现在,您可以用值替代变量以查看结果:
>>> ans.subs({k: 0})
C(t) == (-r + exp(d*(C1 + t)))/d
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句