在分段中将分段函数集成时的错误结果

时间:2017-05-08 15:57:24

标签: python sympy

我开始使用sympy。我计算了卷积,但结果不正确:

enter image description here

enter image description here

结果错误:正确的结果是

enter image description here

那我做错了什么?我曾经用过sympy来整合分段的功能,没有问题......

代码:

BEGIN
INSERT INTO suppliers
(supplier_id, supplier_name)
VALUES
(5000, 'Apple');
EXCEPTION
  WHEN OTHERS THEN
  print the variable that contains tha actual text of the sql command
END;

1 个答案:

答案 0 :(得分:1)

你没有做错任何事。这是Sympy对两个分段表达式产品的问题。通过调用piecewise_fold(f(x-y)*f(y)),您可以看到它无法对此产品进行排序,将其作为嵌套的Piecewise结构。

Piecewise((Piecewise((1, And(x - y <= 1, x - y >= -1)), (0, True)), And(y <= 1, y >= -1)), (0, True))

符号集成例程会在这个嵌套的东西上绊倒,这可能值filing an issue on GitHub

解决方法

如果您手动压平这个嵌套的Piecewise,则集成可以正常工作。

g = Piecewise((1, And(x-y <= 1, x-y >= -1, y <= 1, y >= -1)), (0, True))
integrate(g, (y, -oo, +oo))

输出Min(1, x + 1) - Min(1, x + 1, Max(-1, x - 1)) correct虽然可能不是人们所期望的形式。