首页 > 解决方案 > 如何将函数别名为 SymPy 中的符号

问题描述

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

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

import sympy as sp

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

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

标签: pythonsympy

解决方案


rect必须是一个class rect(Function)而不是一个函数,它需要一个自定义打印机。还要注意,如果您eval像上面那样定义方法(就 Heaviside 而言),那么您的表达式将不再是rect类...它将是一个 Add。

处理这个问题的另一种方法是只Function('\Pi')(t)在你的表达式中使用,当你准备好对它们做一些事情时,用你的定义替换这些实例。但是你想用 做什么事情rect呢?你能用 Piecewise 代替吗?


推荐阅读