Graph 在gnuplot中绘制x函数的阶乘?
我正试图画出Graph 在gnuplot中绘制x函数的阶乘?,graph,plot,gnuplot,Graph,Plot,Gnuplot,我正试图画出x
x在gnuplot中,我首先定义了阶乘函数,然后调用了它,但是不管我给图设置了什么边界,我总是得到堆栈溢出
这就是我尝试过的:
gnuplot> fac(n) = (n==0) ? 1 : n * fac(n-1)
gnuplot> plot [0:10][0:10] log(fac(x)), log(x**x)
stack overflow
我应该将fac函数定义为整数。否则,当沿着x轴绘制时,它将计算一个很长的实数范围,实际上是一个很大的实数范围,这将始终导致溢出
因此,应定义函数:
fac(x) = (int(x)==0) ? 1.0 : int(x) * fac(int(x)-1.0)
另一个解决方案是使用(gnuplot中的内在函数)
N=伽马(N+1)
对,而且函数仅为整数定义,因此您可以添加适当的采样x范围:set samples 11
(对于x范围[0:10]
)。
gnuplot> plot [0:10][0:10] log(gamma(x+1)), log(x**x)