2016-11-15 82 views
4

我正在做一個涉及大量符號集成的項目。在sympy中做符號集成的快速方法是什麼

這些函數就像erlang概率分佈函數。

這是一個簡單的例子。

https://s18.postimg.org/gd7t4bv95/gif_latex.gif

這裏是上述任務的代碼:

import sympy as sym 
t=sym.Symbol('t') 
t1=sym.Symbol('t1') 
t2=sym.Symbol('t2') 

###integration for t2 
expr=(1-sym.exp(-(t-t2)))*(1-sym.exp(-(t-t2)))*sym.exp(-t2) 
expr=sym.integrate(expr,(t2,0,t)) 

###substitution and integration for t1 
expr=expr.subs(t,t-t1) * (1-sym.exp(-(t-t1)))*sym.exp(-t1) 
expr=sym.integrate(expr,(t1,0,t)) 

這是一個有點複雜結果:

https://s11.postimg.org/x9tw8kw8j/untitle.png

因此,爲了落實sympy,我使用大多數情況下會整合()和subs()。

但是,速度真的很慢。當我有5個變量時(例如,從t_1到t_5),我需要等一下。但是當我有10個變量時,我無法完成計算。代碼是一個相當複雜的,但我相信瓶頸是整合。畢竟,從樣本結果來看,我們可以想象這項任務會有多麼艱鉅。

我有沒有什麼好的方法來提高Sympy的集成?特別是對於像指數族

感謝

+0

您的代碼目前的狀態如何? [代碼示例](http://stackoverflow.com/help/mcve) – mpaskov

回答

1

功能的整合速度在SymPy的錯誤。你可以通過調用expand(expr)並集成它來解決它。

相關問題