如何使用参数微分获得二阶导数?

Chr*_*now 5 sympy

如果我有两个参数方程,例如x = 2*ty = t**2 - 3,我可以将它们区分如下:

>>> x, y, t = symbols('x, y, t')
>>> x = 2*t
>>> y = t**2 - 3
>>> diff(y)/diff(x)
t
Run Code Online (Sandbox Code Playgroud)

要获得二阶导数:

>>> (diff(x,t,1)*diff(y,t,2) - diff(y,t,1)*diff(x,t,2)) / diff(x,t,1)**3
1/2
Run Code Online (Sandbox Code Playgroud)

我可以用同意的方式来计算这个吗?

也许把它包装在一个函数中就是我应该做的事情?

>>> def second_derivative(x,y):  
>>>   return (diff(x,t,1)*diff(y,t,2) - diff(y,t,1)*diff(x,t,2)) / diff(x,t,1)**3
Run Code Online (Sandbox Code Playgroud)

然后它变成:

>>> second_derivative(2*t, t**2 - 3)
1/2
Run Code Online (Sandbox Code Playgroud)

Chr*_*now -1

我创建了一个自定义函数:

>>> def second_derivative(x,y):  
>>>   return (diff(x,t,1)*diff(y,t,2) - diff(y,t,1)*diff(x,t,2)) / diff(x,t,1)**3
Run Code Online (Sandbox Code Playgroud)

其名称如下:

>>> second_derivative(2*t, t**2 - 3)
1/2
Run Code Online (Sandbox Code Playgroud)