首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python提供的间隔之外使Piecewise函数为零

如何在python提供的间隔之外使Piecewise函数为零
EN

Stack Overflow用户
提问于 2015-03-27 18:43:02
回答 1查看 7.3K关注 0票数 1

这是我的代码:

代码语言:javascript
复制
    In [61]: import sympy as sp

    In [62]: x = sp.Symbol('x')

    In [63]: phi_1 = sp.Piecewise( ( (1.3-x)/0.3, 1<=x <=1.3 ))

    In [64]: phi_1.subs(x,1.2)
    Out[64]: 0.333333333333334

    In [65]: phi_1.subs(x,1.4)
    Out[65]: Piecewise()

更具体地说,我想得到零作为输入65的答案,因为1.4在间隔1,1.3之外。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-27 19:01:37

您需要告诉Piecewise,当超出界限时,您希望该函数的计算值为零,例如:

代码语言:javascript
复制
import sympy as sp

x = sp.Symbol('x')

phi_1 = sp.Piecewise(
    (0, x < 1),
    (0, x > 1.3),
    ( (1.3-x)/0.3, True )
)

print(phi_1.subs(x,1.2)) # 0.333333333333334

print(phi_1.subs(x,1.4)) # 0

注意,这个语法在0.7.1和0.7.6中有效--您的代码使用“复合条件”1 <=x <=1.3在0.7.6中引发一个1 <=x <=1.3

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29307980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档