Re: [問題] gamma問題已回收

看板MATLAB作者 (zerobit)時間17年前 (2008/12/06 14:33), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/3 (看更多)
先感謝ejialan幫忙解答 使用這個方法我能找到0.04以下的答案 可是因為程式需要 他還要找值為0.1 這個方法就找不到了。 有沒有其他人有別的解法呢?! 因為參考的paper上這個值是個機率 所以應該0~1都可以找到 再求幫忙  感謝感謝 gammainc(5,b/2)/gamma(5)=0.1====>機率值 要找出b ※ 引述《ejialan (eji)》之銘言: : 先畫圖看解的範圍 : clear;clc;format long : f=inline('gammainc(5,b/2)/gamma(5)-0.001'); : b=linspace(20,30); : fb=f(b); : plot(b,fb) : 可知解在20和30間 : 以下用二分法求解 : 原理為勘根定理 : maxit=100; : es=1e-16; : xl=20;xu=30; : fl=f(xl);fu=(xu); : iter=0; : while(1) : iter=iter+1; : xc=(xl+xu)/2; : fc=f(xc); : if fc*fl<0 : xu=xc; : else : xl=xc; : end : if iter==maxit|abs(fc)<=es : break : end : end : b=xc : a=gammainc(5,b/2)/gamma(5) : 執行結果 : b = : 20.69105083638817 : a = : 0.00100000000000 : ※ 引述《zerobit (zerobit)》之銘言: : : 因為要反算gamma的數值 可是matlab裡面好像沒有像qfunc 有qfuncinv可以用 : : 所以不知道怎麼解決,請問有人有遇過這個問題嗎?! : : 已知  a=0.001 : : a=gammainc(5,b/2)/gamma(5) : : 要反算那個 b值 一直推不出來該怎麼算 : : gamma積分好像也不能算吧@@" : : 有人能幫忙解答嗎? 謝謝 : : 修正題目 a=0.001 a=gammainc(5,b/2)/gamma(5); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.165.98.38

12/06 15:22, , 1F
a=0.1是沒有根的...圖畫出來就知道了
12/06 15:22, 1F
文章代碼(AID): #19EXozEI (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #19EXozEI (MATLAB)