die*_*lar 7 plot graph gnuplot
我试图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
Run Code Online (Sandbox Code Playgroud)
小智 9
另一个灵魂就是使用Gamma函数(gnuplot中的内部函数).
N!=-γ(N + 1)
gnuplot> plot [0:10][0:10] log(gamma(x+1)), log(x**x)
Run Code Online (Sandbox Code Playgroud)
我应该将fac函数定义为整数.否则,当沿x轴绘制时,它将评估长范围的实数,实际上是一个巨大的实数,这将总是导致溢出.
所以,应该定义函数:
fac(x) = (int(x)==0) ? 1.0 : int(x) * fac(int(x)-1.0)
Run Code Online (Sandbox Code Playgroud)