我有一个庞大而丑陋的表情。我需要采用它的衍生物,然后插入一些数字并进行评估。
这是计算电路输出中的总误差。
实际公式如下:
右边几乎所有这些变量都与温度有关,我关心的是整体温度敏感度dReff / dT。
但为了解释,让我们简化一些事情。假设我有一个更简单的公式:
R(T)= 2 * R_0(T)
我想从变量方面得到衍生物:
dR / dT = 2 * dR_0 / dT
然后,从数据表中了解dR_0 / dT,我希望能够将其插入:
dR_0 / dT = 2ohms /°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)
如何完成其余的工作?有没有办法插入衍生术语的值?
答案 0 :(得分:3)
一种解决方案是为衍生物制作另一个符号:
dR0 = Function('R_0')(T).diff(T)
然后,您可以在更大的衍生表达式中替换它。
expr.subs(dR0, value)
这适用于我尝试过的几个例子。他们可能更容易做到这一点,但我只在严格需要时处理sympy
。