我正在用sympy测试Piecewise个函数,发现当我只在一定时间内给出pairs个表达和条件时,它不喜欢它.例如,当我try 将函数设置为undefined时,输入以下内容时,为x<0:

from sympy import Symbol, Piecewise
x = Symbol('x')
p = Piecewise((3, 0<=x<=5), (5, x>5))

我收到错误消息

TypeError: cannot determine truth value of Relational

然而,当我从第一个条件中删除0<=时,它可以很好地工作,但为负x分配相应的公式3,这是我不想要的.在许多情况下,为负x定义函数是没有意义的,我想在我的代码中反映这一点.

推荐答案

您可以通过使用And函数组合条件来定义特定间隔的分段函数:

from sympy import Symbol, Piecewise, And
x = Symbol('x')
p = Piecewise((3, And(0<=x, x<=5)), (5, x>5))

在这里,我确保该函数仅适用于0 <= x <= 5defined.对于x > 5,函数返回5,对于x < 0,函数未定义.

Python相关问答推荐

Pandas read_jsonfuture 警告:解析字符串时,to_datetime与单位的行为已被反对

从单个列创建多个列并按pandas分组

用Python获取HTML Span类中的数据

将行从一个DF添加到另一个DF

如何销毁框架并使其在tkinter中看起来像以前的样子?

如何在Python中使用时区夏令时获取任何给定本地时间的纪元值?

在函数内部使用eval(),将函数的输入作为字符串的一部分

我必须将Sigmoid函数与r2值的两种类型的数据集(每种6个数据集)进行匹配,然后绘制匹配函数的求导.我会犯错

Pandas 填充条件是另一列

如何在BeautifulSoup中链接Find()方法并处理无?

运行回文查找器代码时发生错误:[类型错误:builtin_index_or_system对象不可订阅]

根据条件将新值添加到下面的行或下面新创建的行中

如何让剧作家等待Python中出现特定cookie(然后返回它)?

对于一个给定的数字,找出一个整数的最小和最大可能的和

运行终端命令时出现问题:pip start anonymous"

根据列值添加时区

在两极中过滤

为什么numpy. vectorize调用vectorized函数的次数比vector中的元素要多?

以异步方式填充Pandas 数据帧

如果有2个或3个,则从pandas列中删除空格