我想逐步完成各个部分,所以我想写第一个术语:u*v
(evaluated between A and B)
但是我不知道如何插入通常的栏来表示评估。
答案 0 :(得分:0)
SymPy打印机最接近的是Subs
,一种表达式替代另一种表达式的惰性形式。例如
>>> u, v = x, sin(x)
>>> pprint(Subs(u*v, x, pi) - Subs(u*v, x, 0))
- (x⋅sin(x))│ + (x⋅sin(x))│
│x=0 │x=π
或者,在LaTeX术语中,
>>> latex(Subs(u*v, x, pi) - Subs(u*v, x, 0))
'- \\left. x \\sin{\\left (x \\right )} \\right|_{\\substack{ x=0 }} + \\left. x \\sin{\\left (x \\right )} \\right|_{\\substack{ x=\\pi }}'
没有用于打印条形的逻辑,其中x = b在顶部,而x = a在底部,因为没有像A2这样的类但是有x的两个替换。
要实际评估(不打印)这样的事情,可以使用
>>> (u*v).subs(x, pi) - (u*v).subs(x, 0)
0
或者,对于必须采取限制的棘手的不正确积分,
>>> (u*v)._eval_interval(x, S(0), pi)
0
内部方法_eval_interval
在需要时采用限制而非直接评估。