⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alpha.m.txt

📁 这是马尔可夫-蒙特卡罗算法的MATLAB源程序.
💻 TXT
字号:
function [lalpha,q] = Alpha(p,q,d,m,pperm,rperm)
% [lalpha,q] = Alpha(p,q,d,m,pperm,rperm)
% MH acceptance ratio using accurate Likelihood calculation
% Puts calculated DR, logPrior (all solvers) G, logLikelihood, (except solver=0) fields in proposal state

% Colin Fox, 29 Nov 2005

% Alpha needs to calculate and store in q:
% value of DR and logPrior for the proposed state
% Green's functions and logLikelihood for the proposed state (except solver=0 ,i.e., prior only)

% Form q.DR and calculate logPrior(q) - logPrior(p)
q.DR = p.DR;
for ind = 1:length(q.mr)                          % number of indices, move 1 has 1, move 2 has 2
    q.DR(q.mr(ind),q.nr(ind)) = q.NewR(ind); 
end
q.logPrior = logPrior(q,m,d.lic);
logPriorDiff = q.logPrior - p.logPrior;

% Calculate Green's functions and logLikelihood(q) - logLikelihood(p) using direct solver
q.G = Solver(q.DR,d,pperm,rperm);
q.logLikelihood =  logLikelihood(q,d);
logLikelihoodDiff = q.logLikelihood - p.logLikelihood;

% Calculate MH ratio
lalpha = min(0,(logLikelihoodDiff+logPriorDiff)); % no proposal ratio as proposal is symmetric

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -