绘制 lambda 函数

Plotting lambda function

我正在尝试绘制一个通过 lambda 定义的函数。我总是收到错误消息:

x and y must have the same first dimension but have shapes (20,) and (1,)

但我不知道为什么。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-4,8,20)
print(x)
fx = lambda x: x - 10 * np.exp(-1/10*((x-2)**2)) 
plt.plot(x, fx)
plt.show()

fx 是一个 lambda 函数,x 是一个列表。 您应首先计算所有结果,然后将其传递给绘图:

x  = np.linspace(-4,8,20)
fx = lambda x: x - 10 * np.exp(-1/10*((x-2)**2)) 
y  = [fx(val) for val in x] # Not sure, maybe you need to use Numpy too instead ? Not a expert of Numpy

plt.plot(x, y)