使用 Python 3 进行隐式微分?

Rob*_*bby 3 python math sympy calculus python-3.x

我们如何在 Python 3 中推导出隐式方程?
示例x^2+y^2=25差异是:dy/dx=-x/y,当尝试这个时:

from sympy import *

init_printing(use_unicode=True)

x = symbols('x')
y = Function('y')(x)

eq = x**2+y**2-25
sol = diff(eq, x)
print(sol)
Run Code Online (Sandbox Code Playgroud)

但它显示:

2*x + 2*y(x)*Derivative(y(x), x)
Run Code Online (Sandbox Code Playgroud)

怎样才能得到-x/y

asm*_*rer 5

SymPy 具有idiff您想要的功能

In [2]: idiff(x**2+y**2-25, y, x)
Out[2]:
-x
???
 y
Run Code Online (Sandbox Code Playgroud)