4

の次の積分を単純化しようとすると、sympy評価されません。つまり、出力は $\int_{-1}^1 |z| になります。dz$ 私が期待する出力は1です。

z = symbols('z', real=True)
a = integrate(abs(z), (z, -1, 1))
simplify(a)

絶対値のない同様の積分zが評価されます。

sympyこの積分を評価するにはどうすればよいですか?

4

2 に答える 2

4

integrate積分を評価するためにできることはすべてすでに行っています。オブジェクトが返された場合Integral、それはそれを評価できなかったことを意味します。助けになるかもしれない唯一のことは、SymPy が認識できる方法で被積分関数を書き直すことです。

この問題を見ると、回避策は Heaviside として書き直すことのようです。

In [201]: z = symbols('z', real=True)

In [202]: a = integrate(abs(z).rewrite(Heaviside), (z, -1, 1))

In [203]: a
Out[203]: 1
于 2016-09-21T16:44:17.670 に答える
-3

Sympy の組み込みAbs()関数を使用する必要があると思います。

楽しみ!

于 2016-09-19T08:09:02.107 に答える