Python 打印函数时出错,包括integrate.quad

Python 打印函数时出错,包括integrate.quad,python,matplotlib,scipy,quad,Python,Matplotlib,Scipy,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)

我想绘制一个函数,其中包含
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]
S()
指定了四元输出的第一项无法处理向量输入。尝试用以下方法将线替换为
plot()

plot = plt.plot(M, np.vectorize(S)(M))
S()
无法处理矢量输入。尝试用以下方法将线替换为
plot()

plot = plt.plot(M, np.vectorize(S)(M))