在gnuplot中绘制具有离散x值的函数

时间:2012-03-06 14:01:49

标签: graph plot gnuplot

我需要绘制一个函数f(x),其中x是一组离散的值(在我的情况下为正整数)。使用范围选项时,我找不到指定步长的方法,并且样本似乎不是正确的解决方案。最后,我想用一个平滑的函数来近似f(x)

3 个答案:

答案 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)函数。

也许看看这个例子: http://gnuplot.sourceforge.net/demo/prob2.html

答案 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'