查看单个帖子
旧 2010-05-20, 04:38 PM   #1
hujf1987
初级会员
 
注册日期: 10-05
帖子: 1
精华: 0
现金: 15 标准币
资产: 15 标准币
hujf1987 向着好的方向发展
默认 Mh抽样 Matlab程序求助

我对MCMC----MH抽样理解不够透彻,拿位能帮帮我??????


% 系统重采样算法(已知xhat为1*N的行向量,存放待采样粒子,wx 1*N为对应的归一化了的权值)
Px = cumsum(wx);
ut(1)=rand(1)/N;
k = 1; %k记录的是需要进行重采样的粒子
ix = zeros(1,N);
for j = 1:N
ut(j)=ut(1)+(j-1)/N;
while(Px(k)<ut(j)); %比较采样尺度,进行重采样
k = k + 1;
end;
ix(j) = k;
wx(j)=1/N; %wx(j)记录粒子权值, 每个权值都变为1/N
end;

xhat = xhat(:,ix);
xp(t) = mean(xhat);

以上程序是 用系统重采样算法实现的对粒子的重采样 ,谁能提供 用‘MCMC-----Metropolis Hastings’算法进行重采样的程序。其实没几句,费您点儿时间帮帮我吧,谢谢了
hujf1987离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)