gnuplot中是否有in prod()运算符?

gnuplot中是否有in prod()运算符?,gnuplot,operator-keyword,product,Gnuplot,Operator Keyword,Product,我是gnuplot的初学者,我正在尝试用gnuplot绘制以下函数: f(x) = sum[i=0:x](Pi[j=0:i](x+j-3)) 其中,Pi指的是产品运营商: Pi[j=0:i](x+j-3) = (x+0-3)*(x+1-3)...(x+i-3) 如何为Pi部分编写gnuplot脚本 您可以按照本文中的方法使用外部函数,在本例中为Python。创建外部文件function.py: import sys x=float(sys.argv[1]) i=int(sys.argv[2]

我是gnuplot的初学者,我正在尝试用gnuplot绘制以下函数:

f(x) = sum[i=0:x](Pi[j=0:i](x+j-3))
其中,Pi指的是产品运营商:

Pi[j=0:i](x+j-3) = (x+0-3)*(x+1-3)...(x+i-3)

如何为Pi部分编写gnuplot脚本

您可以按照本文中的方法使用外部函数,在本例中为Python。创建外部文件
function.py

import sys
x=float(sys.argv[1])
i=int(sys.argv[2])

p = 1
for j in range(0,i+1):
    p *= x + j - 3

print p
现在,在gnuplot中,您可以定义以下乘积和求和函数:

prod(x,i) = real(system(sprintf("python function.py %g %i", x, i)))

f(x) = sum[i=0:int(x)](prod(x,i))

plot[0:3] f(x)


请注意,
x
必须是整数才能用于定义总和的限制。还要注意调用外部函数的速度非常慢。

如果我没有犯错误,您可以使用递归函数:

prod(x,n,m) = (n<0) ? 1 : (x+n+m) * prod(x,n-1,m)
f(x) = sum[i=0:int(x)](prod(x,i,-3))
plot [0:3] f(x)

prod(x,n,m)=(n比我的好多了