小编use*_*691的帖子

在同情中替换偏导数

我正在学习SymPy中的扰动.假设我有一个表达式U(X,Y)= 0,其中U是X和Y的函数.该函数没有Y的闭合形式解,所以我用一个已知解的泰勒展开来近似它我的表达式相对于X的第一,第二,第三等衍生物,其中我考虑到Y是X的函数:

dU(X,Y(X))/ dX = U_X + U_Y*Y_X

要找到Y_X,我需要用已知解决方案中的值替换U_X和U_Y.以下SymPy代码,但是......

from sympy import *

X, b = symbols('X b')
U = Function('U')
Y = Function('Y')(X)

diff1 = diff(U(X,Y))
print diff1
Run Code Online (Sandbox Code Playgroud)

...给我以下输出:

Derivative(U(X, Y(X)), X) +
Derivative(Y(X), X)*Subs(Derivative(U(X, _xi_2), _xi_2), (_xi_2,), (Y(X),))
Run Code Online (Sandbox Code Playgroud)

我知道如何替换Derivative(Y(X), X)变量b:

diff1.subs({diff(Y,X):b})
b*Subs(Derivative(U(X, _xi_2), _xi_2), (_xi_2,), (Y(X),)) + 
Derivative(U(X, Y(X)), X)
Run Code Online (Sandbox Code Playgroud)

如果我有U_X(Derivative(U(X, y(X)), X))和U_Y(Subs(Derivative(U(X, _xi_2), _xi_2), (_xi_2,), (Y(X),)))的数值我可以解决这个问题b,然后我估计Y_X,但是如何用一些数值替换这些偏导数呢?

在回应第一条评论时:例如,一种解决方案确实是使用U的显式形式

X, b = symbols('X b')
Y = Function('Y')(X)
U = …
Run Code Online (Sandbox Code Playgroud)

python sympy

5
推荐指数
0
解决办法
1116
查看次数

标签 统计

python ×1

sympy ×1