【问题标题】:Unsupported operand type(s) for *: 'float' and 'module'* 不支持的操作数类型:“float”和“module”
【发布时间】:2022-07-24 18:40:58
【问题描述】:

我正在学习如何使用 matplotlib 和 numpy 绘制 3D 地图,这是我的代码:

z_func = lambda x, y: np.cos(x)*np.cos(y)*np*e**(-(np.sqrt(x*x + y*y))/4)

x = np.arange(-5, 5.1, 0.1)
y = x.copy()

X, Y = np.meshgrid(x, y)
print(X)
print(Y)

Z = z_func(X, Y)

ax = plt.axes(projection = '3d')
ax.plot_surface(X, Y, Z, cmap = 'twilight', linewidth = 1)
ax.set_title("Surface plot")
plt.show()

然后我遇到了一个问题:*: 'float' 和 'module' 的操作数类型不受支持。 我不知道如何解决它。

【问题讨论】:

  • 你为什么要乘以np?您应该始终提供完整的回溯,并删除与问题无关的代码;另请参阅提供minimal reproducible example 的指南。
  • 什么是np*e?,请重新检查z_func的第一行代码。

标签: python numpy matplotlib


【解决方案1】:

你有一个错字。也许您的意思是np.exp 而不是np * e

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-08
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    相关资源
    最近更新 更多