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

matplotlib绘制lambda定义函数时报x与y维度不匹配错误如何解决

错误原因

你在调用plt.plot()绘图时,第二个参数直接传入了lambda函数对象fx,没有将x数组传入函数计算对应y值,matplotlib会将单个函数对象识别为长度为1的数值,自然就会和长度为20的x数组报维度不匹配的错误。

修复方案

仅需要修改绘图行代码,将x传入fx得到计算后的y值即可,修改后完整代码如下:

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(x)) # 此处修改为传入fx(x),执行函数计算得到对应y数组
plt.show()
补充说明
  • lambda函数和普通def定义的函数使用规则一致,必须传入参数才会执行计算逻辑返回结果,直接传递函数名传递的是函数本身的引用,不会执行计算
  • 你定义的fx内部全部使用numpy向量化运算,直接传入整个x数组即可自动得到等长的y数组,完全符合plt.plot的参数要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:15:07