首页 > 解决方案 > Gnuplot:绘图期间出现错误“所有点y值未定义”

问题描述

我想绘制以下函数:

f(x)=250*x/(log(0.2*x)-log(log(1/10+1)))

plot f(x)

现在我得到错误:所有点 y 值未定义!

我怎么解决这个问题?

标签: functionplotgnuplot

解决方案


首先,您需要编写250*xand 0.2*x。此外,您还陷入了 gnuplot 的“最严重的陷阱”之一:整数除法,即1/10 = 0. 因此,最后一项将是log(log(1)) = log(0),这导致“所有点 y 值未定义! ”。相反,如果至少一个数字是浮点数,您将得到预期的结果:1/10. = 0.11./10 = 0.1

所以,我假设你的功能是:f(x) = 250*x/(log(0.2*x)-log(log(1/10.+1)))

代码:

reset session

set samples 200

f(x) = 250*x/(log(0.2*x)-log(log(1/10.+1)))

plot f(x)

结果:(假设 f(x) 是预期的公式)

在此处输入图像描述


推荐阅读