1

私はこのコードを実行しました:

from scitools.std import *
from sympy import *

x=Symbol('x')
#Integral function
#def f(x):             --> I also tried this
 #   return exp(-x**2)

f=exp(-x**2)

intac=integrate(f,(x,0,1))
print(nsolve(f,x,1))

インタプリタは私に次のように与えます:「割り当て前に参照されるローカル変数x」

私が試しnsolve(f,x,(0,1))てみると、「与えられた許容範囲内でルートを見つけることができませんでした...」

(また、私はfindroot(f,(0,1))成功せずに試しました(インポートfrom mpmath import *してからmp.dps = 30; mp.pretty = True)。

4

1 に答える 1

3

nsolveの呼び出し構文については何も知りませんが、sympyもmpmathも関数の本当のルートを見つけられない理由を説明できます。何もありません。f(x)= exp(-x ^ 2)の場合、任意の実数xに対してf(x)>0です。f(0)= 1であり、abs(x)がいずれかの方向に大きくなるにつれて関数は減少しますが、常に正です。確かに[0,1]にはルートがありません。

正規分布を読む価値があるかもしれません。

統合は正常に機能しているようです。

>>> integrate(f,(x,0,1))
    pi**(1/2)*erf(1)/2
于 2011-10-30T00:12:59.083 に答える