Python 创建和使用Symphy中的精确微分
我试图找出如何在Symphy中创建和操作(莱布尼兹符号的代数处理)。明确地说,众所周知Python 创建和使用Symphy中的精确微分,python,sympy,symbolic-math,calculus,differentiation,Python,Sympy,Symbolic Math,Calculus,Differentiation,我试图找出如何在Symphy中创建和操作(莱布尼兹符号的代数处理)。明确地说,众所周知 from sympy import * init_printing() x, y=symbols('x, y') f=Function('f')(x, y) Derivative(f, x) 屈服 在上述情况下,精确的微分为 对于物理学家来说,考虑到我们对链式规则的滥用,这一点尤其需要,但对于像V=a\ell和dV=dA d\ell这样的简单事情,在处理积分或热力学中经常发生的经典物理时,这一点也很简单
from sympy import *
init_printing()
x, y=symbols('x, y')
f=Function('f')(x, y)
Derivative(f, x)
屈服
在上述情况下,精确的微分为
对于物理学家来说,考虑到我们对链式规则的滥用,这一点尤其需要,但对于像
V=a\ell
和dV=dA d\ell
这样的简单事情,在处理积分或热力学中经常发生的经典物理时,这一点也很简单
>>> from sympy import *
>>> x = Symbol(' x')
>>> dx = Symbol('dx')
>>> def f (x):
... return x**3
>>> def g (x):
... return sin(x)
让我们使用微分dx
中的泰勒展开式来计算f
和g
的微分:
>>> f(x+dx).series(dx,0,2) - f(x)
3*dx*x**2 + O(dx**2)
>>> g(x+dx).series(dx,0,2) - g(x)
dx*cos(x) + O(dx**2)
其中,根据定义,O(dx**2)
为零。当然,我们也可以使用差异化(diff
):
>>> diff(x**3,x) * dx
3*dx*x**2
>>> diff(sin(x),x) * dx
dx*cos(x)