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 回答