作者inanity (陰晴圓缺)
看板C_and_CPP
標題[問題] 看不懂網路上的一段程式碼
時間Wed May 4 13:16:50 2011
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
看不懂網路上的程式碼,尤其是在while迴圈內外都有一個kappa變數,不知道該怎樣解釋
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
#include<math.h>
#include "bayes.h"
kappa1 = 1.0/pow(mu_s,2.0);
kappa2 = mu_m/pow(mu_s,2.0);
v_it=v; j_it=j; ky_it=ky; kv_it=kv; y_it=y;
while(v_it<v_pre) {
hlp = *v_it++;
e_v = ((*v_it) - hlp - k_c * (th_c - hlp) - (*kv_it)*(*j_it))...
/sqrt(sv_c);
e_y = (*y_it) - (*ky_it)*(*j_it) - ro_c*e_v;
kappa2 += e_y/(1.0 - pow(ro_c,2.0))/hlp;
kappa1 += 1/hlp/(1.0 - pow(ro_c,2.0));
++j_it; ++ky_it; ++kv_it; ++y_it;
}
hlp = *v_it;
e_y = (*y_it) - (*ky_it)*(*j_it);
kappa2+=e_y/hlp;
kappa1+=1/hlp;
kappa1=1/kappa1;
mu_c = gsl_ran_gaussian(rv_g,sqrt(kappa1))+ kappa1 * kappa2;
Emu += mu_c/double(nsim);
補充說明(Supplement):
小弟我學的是MATLAB,所以對C++不熟,想要把這個程式碼改成MATLAB語言
如果板友對這個程式碼還需要其他補充資料,請告知
謝謝各位大大
PS 這是ERAKER 2003年MCMC的程式碼
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.58.42
→ deh3215:變數命名的很爛..看起來好痛苦 05/04 21:34
噓 angleevil:+1 05/05 09:14