我正在尝试在scipy中迭代数值积分并绘制结果。但是它返回'float'对象不可迭代的错误。对此有什么正确的方法?
import numpy as np
from scipy import integrate
import matplotlib.pyplot as plt
def g(x):
if (np.abs(x)<1e-10):
res = x
else:
res = x*np.sin(1.0/x)
return res
X = np.arange(-0.5,0.5,0.001)
#plot(X,f(X))
def f(x):
res = np.zeros_like(x)
for i,val in enumerate(x):
y,err = integrate.quad(g,0,val)
res[i]=y
return res
def F(x):
res = np.zeros_like(x)
for i,val in enumerate(x):
y,err = integrate.quad(f,0,val)
res[i]=y
return res
plt.plot(X,F(X))