sympy
で次の積分を単純化しようとすると、評価されません。すなわち、出力は$ \ int _ { - 1}^1 | z | DZ $私は期待して出力を評価しますz
上の絶対値なし整数1sympy:絶対値の積分を評価する方法
z = symbols('z', real=True)
a = integrate(abs(z), (z, -1, 1))
simplify(a)
類似しています。
sympy
でこの積分を評価するにはどうすればよいですか?
sympy
で次の積分を単純化しようとすると、評価されません。すなわち、出力は$ \ int _ { - 1}^1 | z | DZ $私は期待して出力を評価しますz
上の絶対値なし整数1sympy:絶対値の積分を評価する方法
z = symbols('z', real=True)
a = integrate(abs(z), (z, -1, 1))
simplify(a)
類似しています。
sympy
でこの積分を評価するにはどうすればよいですか?
integrate
すでに積分を評価することができます。 Integral
オブジェクトを取得した場合、評価できないことを意味します。 SymPyが認識できるように被積分関数を書き直すことが唯一可能なことです。回避策はヘヴィサイドとしてそれを書き換えることであるようにthis issueを見てみると
、それが見えます:
In [201]: z = symbols('z', real=True)
In [202]: a = integrate(abs(z).rewrite(Heaviside), (z, -1, 1))
In [203]: a
Out[203]: 1
私の印象はsympyの簡素化は、まだそれができるほど良好ではないということです。 simpy(trigsimp、ratsimp、powsimp、combsimp、...)にはいくつかの他の簡素化メソッドがありますが、積分を単純化できるとは考えていません。ハムナにはとてもシンプルに見えますが、シンプル化が失敗することもあります。この状況では、.evalf()メソッドも使用できます。こちらもご覧ください:http://docs.sympy.org/latest/tutorial/simplification.html – dnalow