注册地址 登录
数学建模社区-数学中国 返回首页

liwenhui的个人空间 http://www.madio.net/?88948 [收藏] [复制] [分享] [RSS]

日志

MCMC算法中的M-H抽样

已有 1616 次阅读2012-9-19 12:53 |个人分类:在人间| 蒙特卡罗, 算法, matlab

用MATLAB编写MCMC算法产生一条平稳分布为指定分布的马尔可夫链:

 

function [mcs,efp]=mhs(f,p0,sigma,rt)

k1=1;k2=0;
gser=zeros(rt,1);gser(1)=p0;
while (k1 < rt);
    p1=p0+sigma*randn;
    q1=feval(f,p0);
    q0=feval(f,p1);
    r=q0/q1;
    alpha=min(1,r);
    urand=rand(1);
    if urand < alpha;
       gser(k1+1)=p1;p0=p1;k1=k1+1;
    end
    k2=k2+1;
end
mcs=gser;efp=rt/k2;

f可以用M文件定义,也可以用匿名函数定义。


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-8-15 20:12 , Processed in 0.273876 second(s), 28 queries .

回顶部