[問題] 如何加快計算雙重積分的速度 已回收

看板MATLAB作者 (wen)時間14年前 (2011/10/12 08:50), 編輯推噓3(306)
留言9則, 5人參與, 最新討論串1/1
我所要計算的雙重積分如下式 ∫∫ f(x)*g(y) dx dy 內層積分的上下限是 y~y+50,外層積分的上下限是 0~infinite 其中,f(x)和g(y)都是 gamma distribution (a,b)和(c,d)分別是他們的參數. 以下是我所寫的程式,須執行2分多鐘才能跑出結果, 但是我的應用需要很快速的知道這個雙重積分式子的結果, 所以想請問是否有板友知道如何加快這個式子計算的速度,感謝! syms x y a=100; b=5; c=100; d=4; f=(x^(a-1))*exp(-x/b)/(gamma(a)*(b^a)) % gamma distribution g=(y^(c-1))*exp(-y/d)/(gamma(c)*(d^c)) % gamma distribution h=f*g; res=int(int(h,y,y+50),0,inf) % 雙重積分 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.105.109

10/12 08:53, , 1F
gamma分佈和雙重積分自己寫,再不然就是換其它語言...
10/12 08:53, 1F

10/12 09:00, , 2F
請問您說的gamma 分布自己寫是什麼意思?
10/12 09:00, 2F

10/12 09:01, , 3F
因為我已經把gamma分部的式子列出來了
10/12 09:01, 3F

10/12 09:06, , 4F
不是有gamcdf可用....
10/12 09:06, 4F

10/12 09:12, , 5F
能否麻煩sunev版友更進一步解釋程式該如何改?
10/12 09:12, 5F

10/12 09:13, , 6F
因為對matlab不熟,所以不知如何改起.
10/12 09:13, 6F

10/12 17:01, , 7F
不用等了 代數的東西直接去馬斯馬替卡版
10/12 17:01, 7F

10/12 23:22, , 8F
有現成套現成 有另外寫的話用馬替卡
10/12 23:22, 8F

10/21 01:02, , 9F
help -> dblquad
10/21 01:02, 9F
文章代碼(AID): #1EbEH94n (MATLAB)
文章代碼(AID): #1EbEH94n (MATLAB)