我想绘制一个包含integrate.quad的函数。函数在间隔中具有真正的浮点值。
import matplotlib.pyplot as plt
import numpy as np
import scipy.integrate as integrate
def S(M):
s = integrate.quad(lambda k: np.exp(-k) * np.sin(2 * M), 0, 5)[0]
return s
M = np.arange(10, 20, 1)
plot = plt.plot(M, S(M))
plt.show()但我收到了这个错误:
错误:提供的函数不返回有效的浮点数。
我不知道函数有正确的浮动值的原因,我用[0]指定了四输出的第一个项。
发布于 2018-08-18 16:25:49
S()无法处理矢量输入。尝试用plot()替换行如下:
plot = plt.plot(M, np.vectorize(S)(M))https://stackoverflow.com/questions/51910306
复制相似问题