我需要绘制一个函数f(x)
,其中x
是一组离散的值(在我的情况下为正整数)。使用范围选项时,我找不到指定步长的方法,并且样本似乎不是正确的解决方案。最后,我想用一个平滑的函数来近似f(x)
。
答案 0 :(得分:7)
我不太明白为什么样品不能解决您的问题。
如果我想在0到10之间的间隔绘制sin(x),并且每个整数都使用一个点
set xrange [0:10]
set sample 11
plot sin(x) w p
显然样本数是xmax-xmin + 1(10 - 0 + 1 = 11)。
最后要解决近似问题,请看this website,讨论线性最小二乘拟合。对于简单的线性插值,请使用lp
代替p
。
答案 1 :(得分:1)
或者,可以使用ceil(x)
或floor(x)
函数。
答案 2 :(得分:0)
你可以这样做:
plot [1:12] '+' u ($0):(f($0))
其中,$0
将替换为1,2,...,12。您甚至可以顺利完成此操作。例如:
f(x)=sin(2*x)
plot [1:12] f(x) t 'the function'\
, '+' u ($0):(f($0)) t 'the points'\
, '+' u ($0):(f($0)) smooth cspline t 'the smooth'