我很不幸地需要将一个来自CERN ROOT深处的程序转换为Python。在ROOT代码中(我认为CINT本身就是一种可憎的东西),人们可以将数学函数存储为“字符串”,并将其传递给ROOT进行拟合、绘图等操作,因为ROOT将这些定义为“字符串”。
目前,这些数学函数被存储在简单的文本文件中作为一行,例如:
谢谢提前帮忙。
目前,这些数学函数被存储在简单的文本文件中作为一行,例如:
(1+[1])^(1+[1])/TMath::Gamma(1+[1]) * x^[1]/[0]^(1+[1]) * exp(-(1+[1])*x/[0])
当读取文件时,这些字符串将由C++作为字符串提取出来。在Python中是否有类似的功能?我知道numexpr,但似乎无法使用与上述等效的内容。
(1+p[1])**(1+p[1])/scipy.special.Gamma(1+p[1]) * x**p[1]/p[0]**(1+p[1]) * numpy.exp(-(1+p[1])*x/p[0])
谢谢提前帮忙。
ROOT.TF1
。 - Ruggero Turra