6
我在尝试将程序从CERN ROOT深度转换为python的过程中处于某种不幸的地位。在ROOT代码中(CINT本身就是一种憎恶),可以将数学函数存储为“字符串”,并将它们传递给ROOT进行拟合,绘图等,因为ROOT将这些定义为“字符串”。Python/Numpy/Scipy - 将字符串转换为数学函数
此刻,所述数学函数存储在简单的文本文件作为一行,即
(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功能,因此您可以创建Python中的'ROOT.TF1',如C++ – 2015-01-24 23:13:44