📄 eql_obj.m
字号:
function obj = eql_obj(xs, G, yi, ci, ri, R, mask)%function obj = eql_obj(xs, G, yi, ci, ri, R, mask)% compute quadratically penalized emission Poisson likelihood% for each "column" of x (but x can be multi-dim if mask provided)%% Copyright May 1999, Jeff Fesslerif nargin < 3, help(mfilename), error(mfilename), endif ~isvar('ci') | isempty(ci) ci = ones(size(yi(:)));endif ~isvar('ri') | isempty(ri) ri = zeros(size(yi(:)));endif ~isvar('R'), R = []; endif nargin == 7 dims = size(xs); xs = reshape(xs, prod(dims(1:(end-1))), dims(end)); xs = xs(find(mask(:)), :);endlike = zeros(ncol(xs),1);penal = zeros(ncol(xs),1);for kk=1:ncol(xs) ticker(mfilename, kk, ncol(xs)) x = xs(:,kk); yp = ci .* (G * x) + ri; % predicted measurements like(kk) = sum(yi .* log(yp) - yp); if ~isempty(R) if isstruct(R) penal(kk) = R.penal(R, x); else penal(kk) = norm(R*x)^2/2; % norm(C * x).^2 / 2; end endendobj = like - penal;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -