l1l1_resection.m

来自「数学优化工具箱」· M 代码 · 共 45 行

M
45
字号
function [P,itercount,solution,opts]  = l1l1_resection(u,U,epsilon,delta,maxiter)	fprintf('\n\n******** Starting (L1,L1) Resectioning Algorithm ********\n\n');  if nargin < 3;    epsilon = 0.95;  end    if nargin < 4;    delta = 15;  end    if nargin < 5;    maxiter = 50;  end      P=[];  itercount = -1;  eot=-1;  solution.feasible=-1;  u = [u',ones(size(u,2),1)];  U = [U',ones(size(U,2),1)];      P0 = zeros(size(u,2),size(U,2)); P0(end,end)=1; P0 = {P0};    opts = bbopts('l1l1_resection',U,P0,u);  opts.epsilon = epsilon;  opts.delta = delta;  opts.maxiter = maxiter;    opts = l1l1_resection_init(opts);    if opts.feasible==0;    fprintf('Initial region is infeasible\n');    return;  end    [solution,itercount]=bandb(opts);  if solution.feasible==1;    P=reshape(solution.point(1:opts.dim1*opts.dim2),opts.dim2,opts.dim1)';    P = inv(opts.PointsTransform)*P*opts.StructureTransform;  end  fprintf('******** Ending (L1,L1) Resectioning Algorithm ********\n\n');	

⌨️ 快捷键说明

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