You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python定义Lambda函数绘图报错:仅能将大小为1的数组转为Python标量

问题解决方法

错误出现的核心原因有两个:

  • 使用了仅支持标量的math.exp(),无法处理numpy数组类型的输入
  • 函数表达式写错,原公式中0.2是指数的一部分,而非单独相加项

修正后的代码

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-1, 5, 100)
# 改用numpy的exp函数,同时修正表达式,将0.2放入指数中
y = lambda a: (a - 2.5) * np.exp(-0.5 * ((a - 2)**2) + 0.2)

plt.plot(x, y(x))
plt.show()

关键修改说明

  • 替换math.exp为np.exp:numpy的exp函数天然支持数组运算,能逐元素处理整个x数组
  • 修正函数表达式:原公式是e的(-0.5*(x-2)² + 0.2)次方,把原本写在外面的+0.2移到指数内部,保证和定义的函数一致

内容的提问来源于stack exchange,提问作者lisa andersson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:01:17