📄 gamma_initialize.m
字号:
function opts = gamma_initialize(opts); if opts.gamma_initialize == 1; fprintf('Gamma Initialization'); initial_delta = opts.delta; delta = opts.delta; flag = 1; fprintf('['); last = 0; while flag; if (delta > 1000); break; end opts.delta = delta; %fprintf('%f ',delta); fprintf('-'); if strcmp(opts.type,'l1l1_triangle'); current = l1l1_triangle_initial_rectangle(opts,1); elseif strcmp(opts.type,'l1l1_resection'); current = l1l1_resection_initial_rectangle(opts,1); else fprintf('Unknown type\n'); opts.feasible=0; return; end if current==0 if last==0; delta = 2*delta; else; flag = 0; delta = 2*delta; end; else; delta = delta/2; last = current; end; end; fprintf(']'); if last; % decide on a valid delta now that we have pushed it as far as we % can. % opts.delta = min(2*nfractions*delta,initial_delta); if delta > initial_delta; %opts.delta = 2*opts.n*delta; opts.delta = delta; else opts.delta = min(initial_delta,2*opts.n*delta); end end; fprintf('\nsetting delta to : %f %f\n',delta, opts.delta);end;xbnd=opts.xbounds(1,2);if strcmp(opts.type,'l1l1_triangle'); newybounds = l1l1_triangle_initial_rectangle(opts);elseif strcmp(opts.type,'l1l1_resection'); [newybounds,xbnd] = l1l1_resection_initial_rectangle(opts);end;if isempty(newybounds); opts.feasible=0; fprintf('infeasible delta %d\n',opts.delta); return;endopts.feasible=1;opts.ybounds = newybounds;% opts.xbounds(:,2)=xbnd;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -