资源简介
这个问价夹里包含了压缩感知领域中炙手可热的GAMP仿真代码,内同丰富所以在此推荐给大家!
代码片段和文件信息
function [estFin optFin estHist state] = ...
BiGAMP(gX gA gOut problem opt state)
% BiGAMP: Bilinear Generalized Approximate Message Passing
%
% The BiG-AMP algorithm is intended for the estimation of
% random matrices A and X observed through the Markov Chain
%
% XA -> Z = A*X -> Y
%
% where the components of X and A are independent and the mapping Z -> Y is
% separable. X is NxL A is MxN and ZY are consequently MxL.
%
% INPUTS:
% -------
% gX: An input estimator derived from the EstimIn class
% based on the input distribution p_x_{nl}(x_nl).
% gA: An input estimator derived from the EstimIn class
% based on the input distribution p_a_{mn}(a_mn).
% gOut: An output estimator derived from the EstimOut class
% based on the output distribution p_{Y|Z}(y_ml|z_ml).
% problem: An objet of the class BiGAMPProblem specifying the problem
% setup including the matrix dimensions and observation locations
% opt (optional): A set of options of the class BiGAMPOpt.
% state (optional): A structure containing all the values needed to warm
% start BiG-AMP
%
% OUTPUTS:
% --------
% estFin: Structure containing final BiG-AMP outputs
% optFin: The BiGAMPOpt object used
% estHist: Structure containing per iteration metrics about the run
% state: The values of all parameters required to warm start the algorithm
%% Setup
% Get options
if (nargin < 5)
opt = BiGAMPOpt();
elseif (isempty(opt))
opt = BiGAMPOpt();
end
nit = opt.nit; % number of iterations
nitMin = opt.nitMin; % minimum number of iterations
step = opt.step; % step size
stepMin = opt.stepMin; % minimum step size
stepMax = opt.stepMax; % maximum step size
stepFilter = opt.stepFilter; % step filter setting <1 for no effect
adaptStep = opt.adaptStep; % adaptive step size
stepIncr = opt.stepIncr; % step inc on succesful step
stepDecr = opt.stepDecr; % step dec on failed step
stepWindow = opt.stepWindow; % step size check window size
verbose = opt.verbose; % Print results in each iteration
diagnostics = opt.diagnostics; % Save diagnostic information
tol = opt.tol; % Convergence tolerance
stepTol = opt.stepTol; % minimum allowed step size
pvarStep = opt.pvarStep; % incldue step size in pvar/zvar
uniformVariance =...
opt.uniformVariance; % use scalar variances
varNorm = opt.varNorm; % normalize variances
compVal = adaptStep; % only compute cost function for adaptive
maxBadSteps = opt.maxBadSteps; % maximum number of allowed bad steps
maxStepDecr = opt.maxStepDecr; % amount to decrease maxStep after failures
zvarToPvarMax = opt.zvarToPvarMax; % maximum zvar/pvar ratio
%This option was included for testing purposes and should not be modified
gainMode = opt.gainMode;
if gainMode ~= 1
warning(...
‘Running with gainMode other than 1 is not recommended‘) %#ok<*WNTAG>
end
%Warn user about diagnostics
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-10-31 11:04 gampmatlab\
文件 323 2013-10-31 11:04 gampmatlab\svn_info.txt
目录 0 2013-10-31 11:02 gampmatlab\trunk\
目录 0 2013-10-31 11:02 gampmatlab\trunk\code\
目录 0 2013-10-31 11:02 gampmatlab\trunk\code\BiGAMP\
文件 26217 2013-10-29 16:51 gampmatlab\trunk\code\BiGAMP\BiGAMP.m
文件 6692 2013-10-29 16:51 gampmatlab\trunk\code\BiGAMP\BiGAMPOpt.m
文件 1206 2013-10-29 16:51 gampmatlab\trunk\code\BiGAMP\BiGAMPProblem.m
文件 12670 2013-10-29 16:51 gampmatlab\trunk\code\BiGAMP\BiGAMP_Lite.m
文件 26177 2013-10-30 13:38 gampmatlab\trunk\code\BiGAMP\BiGAMP_X2.m
文件 779 2013-10-18 09:31 gampmatlab\trunk\code\BiGAMP\checkOptions.m
文件 876 2013-10-16 13:16 gampmatlab\trunk\code\BiGAMP\coding_error.m
目录 0 2013-10-31 11:02 gampmatlab\trunk\code\BiGAMP\comparison_codes\
目录 0 2013-10-31 11:02 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\
文件 1932 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\admm_srp.m
文件 3362 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\bgfg_seperation_grasta.m
文件 3039 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\bgtraining.m
文件 18384 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\column.pdf
文件 35821 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\GPL.txt
文件 2217 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\grasta_mc.m
文件 3652 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\grasta_mc_timing.m
文件 543 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\grasta_path.m
文件 5759 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\grasta_RobustMC_demo.m
文件 8469 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\grasta_stream.m
文件 7804 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\LGPL.txt
文件 695 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\LICENSE.txt
目录 0 2013-10-31 11:02 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\make_video\
文件 2826 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\make_video\bgfg_seperation_mf.m
文件 6567 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\make_video\bgfg_seperation_ReProCSmod.m
文件 1011 2013-10-15 16:48 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\make_video\fr
目录 0 2013-10-31 11:02 gampmatlab\trunk\code\BiGAMP\comparison_codes\grasta\make_video\inexact_alm_rpca\
............此处省略1019个文件信息
评论
共有 条评论