【问题标题】:sympy plot conflict with piecewise functionsympy情节与分段函数冲突
【发布时间】:2014-08-17 18:58:51
【问题描述】:

我使用 sympy 创建了一个分段函数:

x= symbols('x')

XL = (1-x)**2
XH = (x-1)**1.5

XX= Piecewise((XL,x<=1),(XH,x>1))
plot(XX,(x,0,2),adaptive=False, num_of_points=200)

它可以计算 XX 在 0 到 2 之间的任何 x 值(仅感兴趣的范围)。

当我绘制它时,它会返回一个错误,即不能将负数提升到分数幂,这绝不应该发生,因为只有当 x 大于 1 时才会应用分数幂。

p>

出于某种原因,它是否会在整个范围内处理这两个部分?有什么想法吗?

【问题讨论】:

  • 我的猜测是问题是零附近的数字噪声。请在 github github.com/sympy/sympy 上将此报告为错误。一种解决方法是获取表达式的真实部分并绘制它。
  • 换句话说,绘制re(XX)

标签: python plot sympy piecewise


【解决方案1】:

最后,我使用的解决方法是 abs(x-1):

x= symbols('x')
XL = (1-x)**2
XH = abs(x-1)**1.5

XX= Piecewise((XL,x<=1),(XH,x>1))
plot(XX,(x,0,2),adaptive=False, num_of_points=200)

实际使用数字的时间是正确的,并避免了错误。我也在 Github 上提交了这个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-10
    • 2012-07-10
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    • 2014-08-03
    相关资源
    最近更新 更多