[問題] 變數在積分的上下限中已回收

看板MATLAB作者 (脫脂牛奶)時間17年前 (2008/11/18 20:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
1 y^(a2-1) (1-y)^(b2-1) (z/y)^(a1-1) (1-z/y)^(b1-1) f(z)=∫ ----------------------- ------------------------------ dy z B(a2,b2) y B(a1,b1) z^(a-1) (1-z)^(b-1) g(z)= --------------------- B(a,b) 其中 B(a1,b1), B(a2,b2) 及 B(a,b) 皆為beta函數 1 令 h(a,b)=∫ [f(z)-g(z)]^2 dz 0 目標:求使得h值為最小的(a,b)及此最小的h值。 若先令 (a1,b1)=(a2,b2)=(2,2) 我覺得要用 fminsearch, betapdf 及 @( ) 來做 可是變數 z 竟然在積分的上下限中 @@ 試了蠻久時間卻不知如何解決 該怎麼寫呢? 以下是我的程式: h=@(z)(objfun_prd_1(z)-betapdf(z,a(1),a(2))).^2; [a,hval]=fminsearch(@(a)quad(h,0,1),[5,5]); 其中副程式為 function k=objfun_prd_1(z) w=@(y)betapdf(y,2,2).*betapdf(z./y,2,2)./y; k=quad(w,z,1); 副程式應該沒問題 有問題的是主程式 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.25.159 ※ 編輯: buttermilk 來自: 58.115.25.159 (11/18 21:36)
文章代碼(AID): #198had_v (MATLAB)
文章代碼(AID): #198had_v (MATLAB)