python - 如何将函数别名为 SymPy 中的符号
问题描述
从文档中不清楚如何根据现有的 SymPy 函数轻松定义函数,并将其别名为特定符号以进行打印。
例如,我定义了矩形函数如下。
import sympy as sp
def rect(t):
return (sp.Heaviside(t + 1/2) - sp.Heaviside(t - 1/2))
虽然这对代数方面很有用,使我不必用导数等定义新的 Function 子类,但如果我可以将它与大写 Pi (Π) 相关联,这样使用它的表达式就会打印出来而不是一系列的 Heaviside 符号。
解决方案
你rect
必须是一个class rect(Function)
而不是一个函数,它需要一个自定义打印机。还要注意,如果您eval
像上面那样定义方法(就 Heaviside 而言),那么您的表达式将不再是rect
类...它将是一个 Add。
处理这个问题的另一种方法是只Function('\Pi')(t)
在你的表达式中使用,当你准备好对它们做一些事情时,用你的定义替换这些实例。但是你想用 做什么事情rect
呢?你能用 Piecewise 代替吗?
推荐阅读
- c# - 读取 Request.Body 流并附加到另一个流
- netlogo - 如何使用 NetLogo 程序创建备用路径
- java - 如何定义此变量以使其不会读取错误?
- javascript - 如何在 JavaScript Discord 机器人中重复代码?
- algorithm - QuickSort - 枢轴始终处于中间位置时的最坏情况输入示例
- windows - 无法在 Windows Server 2012 R2 中移动日志文件
- typescript - VSCode TypeScript 智能感知不是类型缩小
- android - Jetpack Compose 如何删除 EditText/TextField 下划线并保持光标?
- vim - 如何在 vim 可视模式下获取当前光标位置
- r - 为什么 apply() 有时会产生一个列表,而有时会产生一个向量?