共线中的链式法则

2024-09-30 00:25:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在尝试一些基本的练习。我想取一个函数在直角坐标系下,相对于极坐标系中半径参数的二阶导数。在

我想要一个很好的链式规则符号表达式,在这里它可以计算出它能计算的,而不能被进一步简化的部分则没有被评估。在

from sympy import *
init_session()
x, y, r, t = symbols('x y r t') # r (radius), t (angle theta)
f, g = symbols('f g', cls=Function)
g = f(x,y)
x = r * cos(t)
y = r* sin(t)
Derivative(g,r, 2).doit()

此代码生成0。有没有办法得到答案的符号表示,而不是0?在


Tags: 函数from参数表达式规则半径符号链式
1条回答
网友
1楼 · 发布于 2024-09-30 00:25:50

简短回答: 你的命令有问题。在

长回答:

x, y, r, t = symbols('x y r t') # r (radius), t (angle theta)
f, g = symbols('f g', cls=Function)
g = f(x,y)

现在x,y是符号,f是一个函数,g是一个应用函数,也就是说,x,y作为f(x,y)应用于{}。在

^{pr2}$

现在您将xy重新定义为r和{}的表达式。这丝毫不影响g!在

Derivative(g,r, 2).doit()

现在您将得到gwrtr。由于g仍然是通过初始符号x,y定义的,它不依赖于{},因此导数为零。在

要达到您想要的效果,请使用以下方法:

from sympy import *
r, t = symbols('r t') # r (radius), t (angle theta)
f = symbols('f', cls=Function)
x = r* cos(t)
y = r* sin(t)
g = f(x,y)
Derivative(g,r, 2).doit()

我还删除了所有不必要的符号定义。在

相关问题 更多 >

    热门问题