从文档中尚不清楚如何根据现有的SymPy函数轻松定义一个函数并将其别名为特定符号以进行打印。
例如,我定义了矩形函数,如下所示。
import sympy as sp
def rect(t):
return (sp.Heaviside(t + 1/2) - sp.Heaviside(t - 1/2))
虽然这对于事物的代数方面很有用,使我不必使用导数等来定义新的Function子类,但如果我可以将其与大写Pi(Π)关联,以便使用它的表达式,那将是很好的会打印出来,而不是打印一系列Heaviside符号。
答案 0 :(得分:0)
您的rect
必须是class rect(Function)
而不是函数,并且需要自定义打印机。还要注意,如果您按照上述定义eval
方法(就Heaviside而言),则您的表达式将不再是rect
类……它将是一个Add。
处理此问题的另一种方法是只在表达式中使用Function('\Pi')(t)
,当您准备对其进行操作时,请用定义替换这些实例。但是,您想对rect
做什么样的事情?您可以改用分段方式吗?