将表达式中的低阶导数的表达式代入高阶导数
Substituting the expression of a lower order derivative in the expression for the higher order derivative
我有以下微分方程:
我正在尝试求出 y 关于 x 的二阶导数。预期结果如下:
我正在尝试使用 sympy 给我上面的表达式。这是我试过的:
from sympy import *
x = symbols('x')
y = Function('y')
#initial value condition: y(1) = 0.5
# first derivative represented as d1
d1 = sin(x+y(x))/x
# second derivative represented as d2
d2 = diff(d1,x)
d2 的结果是:
这就是我卡住的地方;如何用表达式 d1 替换 (d/dx)(y(x)) 项?
感谢您的帮助。
可以用sub代替导数:
In [13]: d1.diff(x).subs(y(x).diff(x), d1)
Out[13]:
⎛ sin(x + y(x))⎞
⎜1 + ─────────────⎟⋅cos(x + y(x))
⎝ x ⎠ sin(x + y(x))
───────────────────────────────── - ─────────────
x 2
x
我有以下微分方程:
我正在尝试求出 y 关于 x 的二阶导数。预期结果如下:
我正在尝试使用 sympy 给我上面的表达式。这是我试过的:
from sympy import *
x = symbols('x')
y = Function('y')
#initial value condition: y(1) = 0.5
# first derivative represented as d1
d1 = sin(x+y(x))/x
# second derivative represented as d2
d2 = diff(d1,x)
d2 的结果是:
这就是我卡住的地方;如何用表达式 d1 替换 (d/dx)(y(x)) 项?
感谢您的帮助。
可以用sub代替导数:
In [13]: d1.diff(x).subs(y(x).diff(x), d1)
Out[13]:
⎛ sin(x + y(x))⎞
⎜1 + ─────────────⎟⋅cos(x + y(x))
⎝ x ⎠ sin(x + y(x))
───────────────────────────────── - ─────────────
x 2
x