如何在SymPy中将函数别名为符号

时间:2019-10-25 04:41:42

标签: python sympy

从文档中尚不清楚如何根据现有的SymPy函数轻松定义一个函数并将其别名为特定符号以进行打印。

例如,我定义了矩形函数,如下所示。

import sympy as sp

def rect(t):
    return (sp.Heaviside(t + 1/2) - sp.Heaviside(t - 1/2))

虽然这对于事物的代数方面很有用,使我不必使用导数等来定义新的Function子类,但如果我可以将其与大写Pi(Π)关联,以便使用它的表达式,那将是很好的会打印出来,而不是打印一系列Heaviside符号。

1 个答案:

答案 0 :(得分:0)

您的rect必须是class rect(Function)而不是函数,并且需要自定义打印机。还要注意,如果您按照上述定义eval方法(就Heaviside而言),则您的表达式将不再是rect类……它将是一个Add。

处理此问题的另一种方法是只在表达式中使用Function('\Pi')(t),当您准备对其进行操作时,请用定义替换这些实例。但是,您想对rect做什么样的事情?您可以改用分段方式吗?