如何取函数的导数,然后用实数求值?
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
。
我有一个巨大的,丑陋的表情。我需要取它的导数,然后插入一些数字并计算它。
这是计算电路输出的总误差。
实际公式如下所示:
右边的几乎所有这些变量都与温度有关,我关心的是整体温度敏感性,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
。