绘制函数时出错,包括 integrate.quad
error in plotting a function, including integrate.quad
我想绘制一个包含 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()
但是我收到这个错误:
error: Supplied function does not return a valid float.
我不知道函数具有正确浮点值的原因,我用 [0]
指定了四元输出的第一项。
S()
无法处理矢量输入。尝试用 plot()
替换该行:
plot = plt.plot(M, np.vectorize(S)(M))
我想绘制一个包含 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()
但是我收到这个错误:
error: Supplied function does not return a valid float.
我不知道函数具有正确浮点值的原因,我用 [0]
指定了四元输出的第一项。
S()
无法处理矢量输入。尝试用 plot()
替换该行:
plot = plt.plot(M, np.vectorize(S)(M))