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