[英]Differentiation in python using Sympy
我如何在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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.