繁体   English   中英

使用Sympy在python中进行区分

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM