如何取函数的导数,然后用实数求值?

How to take a derivative of Function, then evaluate using real numbers?

我有一个巨大的,丑陋的表情。我需要取它的导数,然后插入一些数字并计算它。

这是计算电路输出的总误差。

实际公式如下所示:

右边的几乎所有这些变量都与温度有关,我关心的是整体温度敏感性,dReff/dT。

但是为了便于解释,让我们将事情简化。假设我有一个更简单的公式:

R(T) = 2*R_0(T)

我想根据变量求导数:

dR/dT = 2*dR_0/dT

然后,从数据表中得知 dR_0/dT,我希望能够将其插入:

dR_0/dT = 2欧姆/°C

dR/dT = 2*2ohms/°C = 4ohms/°C

现在,我已经使用 python 和 sympy 让我走得很远,但现在我被困住了。它看起来像这样:

from sympy import *

T = Symbol('T')
R_0 = Function('R_0')(T)
R = 2*R_0

diffR = Symbol('diffR')
diffR = R.diff(T)

此时如果你打印 diffR,你会得到以下内容

2*Derivative(R_0(T),T)

剩下的路怎么走?有没有办法插入导数项的值?

一个解决方案是为导数制作另一个符号:

dR0 = Function('R_0')(T).diff(T)

然后,您可以在更大的导数表达式中用 in 代替它。

expr.subs(dR0, value)

这在我试过的几个例子中有效。他们可能是一种更简单的方法,但我只在严格需要时处理 sympy