2017-10-20 18 views
2

SympyとWolframalphaは異なる結果をもたらしました。明らかにここで間違ったことをしたことがありますか?SympyとWolframalphaは異なる結果を示します

import sympy as smp 
smp.init_printing() 
In [2]: 

a,R,t = smp.symbols('a,R,t',real=True) 
In [3]: 

f = t**2/(1+t**2/a**2);f 
Out[3]: 

enter image description here

In [4]: 
I=smp.Integral(f,t); I 
Out[4]: 

enter image description here

In [5]: 
I.doit() 
Out[5]: 

Wolframalphaしかし

を与えるトン

enter image description here

+0

sympyはa^3 tan-1(x/a)の項を削除することで関数を単純化するようです。しかし、なぜか分からない。 – BenT

答えて

-1

sympyは現在、不定積分を計算することができません。それは計算する

$$\(\int_{x_0}^{x} f(x)dx\)$$ 

documentation詳細を持っています。

ウォルフラムアルファと同等の優れたツールはsagemath です。ワークシートを作業してクラウドに保存できるonline platformをご覧ください。

+0

すてきな答え。生ラテックスの代わりにこの写真を使うことができます:https://i.stack.imgur.com/MyMfT.gif – Uriel

+0

0からxまでの範囲でも、積分は生成されたものではありません。 –

1

これはSymPyのバグです:私はそれについてissueを開いた。一方、回避策は、aを単にリアルではなく、肯定的であると宣言することです。 aが二乗されているので、記号は関係ありませんが、それが陽性であることを知っていると思うのですが、SymPyが複雑な平面で正しい分岐を作るのに役立ちます。

Integral(expr, var).doit()より入力しやすくなる、ここ integrate(expr, var)を使用して
>>> from sympy import * 
>>> a = symbols('a', positive=True) 
>>> t = symbols('t', real=True) 
>>> integrate(t**2/(1+t**2/a**2), t) 
a**2*(-a*atan(t/a) + t) 

+0

sympy 1.1.1に既知のバグのリストがありますか? –

+0

[issue tracker](https://github.com/sympy/sympy/issues)はそれですが、バージョンごとに区切られていません。 – FTP

関連する問題