广义逼近信息传递算法


这个问价夹里包含了压缩感知领域中炙手可热的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  gampmatlabsvn_info.txt
     目录           0  2013-10-31 11:02  gampmatlab runk
     目录           0  2013-10-31 11:02  gampmatlab runkcode
     目录           0  2013-10-31 11:02  gampmatlab runkcodeBiGAMP
     文件       26217  2013-10-29 16:51  gampmatlab runkcodeBiGAMPBiGAMP.m
     文件        6692  2013-10-29 16:51  gampmatlab runkcodeBiGAMPBiGAMPOpt.m
     文件        1206  2013-10-29 16:51  gampmatlab runkcodeBiGAMPBiGAMPProblem.m
     文件       12670  2013-10-29 16:51  gampmatlab runkcodeBiGAMPBiGAMP_Lite.m
     文件       26177  2013-10-30 13:38  gampmatlab runkcodeBiGAMPBiGAMP_X2.m
     文件         779  2013-10-18 09:31  gampmatlab runkcodeBiGAMPcheckOptions.m
     文件         876  2013-10-16 13:16  gampmatlab runkcodeBiGAMPcoding_error.m
     目录           0  2013-10-31 11:02  gampmatlab runkcodeBiGAMPcomparison_codes
     目录           0  2013-10-31 11:02  gampmatlab runkcodeBiGAMPcomparison_codesgrasta
     文件        1932  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastaadmm_srp.m
     文件        3362  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastagfg_seperation_grasta.m
     文件        3039  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastagtraining.m
     文件       18384  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastacolumn.pdf
     文件       35821  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastaGPL.txt
     文件        2217  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastagrasta_mc.m
     文件        3652  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastagrasta_mc_timing.m
     文件         543  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastagrasta_path.m
     文件        5759  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastagrasta_RobustMC_demo.m
     文件        8469  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastagrasta_stream.m
     文件        7804  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastaLGPL.txt
     文件         695  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastaLICENSE.txt
     目录           0  2013-10-31 11:02  gampmatlab runkcodeBiGAMPcomparison_codesgrastamake_video
     文件        2826  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastamake_videogfg_seperation_mf.m
     文件        6567  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastamake_videogfg_seperation_ReProCSmod.m
     文件        1011  2013-10-15 16:48  gampmatlab runkcodeBiGAMPcomparison_codesgrastamake_videoframes2matrix.m
     目录           0  2013-10-31 11:02  gampmatlab runkcodeBiGAMPcomparison_codesgrastamake_videoinexact_alm_rpca
............此处省略1019个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)