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

Gnuplot绘制函数时报all points y value undefined错误如何解决

Gnuplot绘制指定函数报错「all points y value undefined!」解决方案

错误原因

该报错是因为函数在gnuplot默认的x取值区间内全部无定义,核心有两个限制条件:

  1. 对数真数必须大于0:函数中log(0.2*x)要求0.2*x > 0,即x > 0,但gnuplot默认x范围是[-10:10],负半轴的点全部无定义
  2. 分母不能为0:计算常数项log(log(1/10 + 1))(注意gnuplot默认log()为自然对数,以10为底需用log10()),可得分母为0的奇点位置在x≈0.477,跨奇点采样也可能出现大量无定义点

解决步骤

  • 第一步:手动设置x的合法取值范围,避开x≤0的区域,按需选择奇点单侧的区间即可,比如设置set xrange [1:200]
  • 第二步:可选设置y范围,避免奇点附近的极端值干扰显示效果
  • 第三步:重新执行绘图命令即可

完整可运行示例代码

# 定义目标函数
f(x) = 250*x/(log(0.2*x)-log(log(1/10+1)))
# 设置x合法取值范围,可根据展示需求调整
set xrange [1:200]
# 可选:限制y范围避免异常值
set yrange [0:8000]
# 执行绘图
plot f(x)

如果你需要使用以10为底的对数,将代码中所有log()替换为log10()即可,无需修改其他逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 06:18:00