📄 l1l1_triangle_update.m
字号:
function opts=l1l1_triangle_update(H,opts);% create the requisite structures for calling sedumi % construct the objective variable% order of variables% x,y,z,t1,t2,s,sp,r1,r1p,r2,r2p...% 3+ 8*n % construct the objective variable% order of variables% x,y,z,t1,t2,r,a,b% 3+ 5*n% more efficient construction later onAlinear = opts.Alinear;clinear = opts.clinear;for i = 1:opts.n; l=opts.xbounds(i,1); u=opts.xbounds(i,2); L=H(i,1); U=H(i,2); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The linear constraints srow=(i-1)*14; scol=(i-1)*5+3; Alinear(srow+1,scol+1)=-L; Alinear(srow+1,scol+2)=-L; Alinear(srow+1,scol+5)=-(u-l); clinear(srow+1) = -L*u; Alinear(srow+2,1) = (u-l)*opts.Q(i,3,1); Alinear(srow+2,2) = (u-l)*opts.Q(i,3,2); Alinear(srow+2,3) = (u-l)*opts.Q(i,3,3); Alinear(srow+2,scol+1) = -U; Alinear(srow+2,scol+2) = -U; Alinear(srow+2,scol+5) = -(u-l); clinear(srow+2) = -(u-l)*opts.Q(i,3,4)-U*l; Alinear(srow+3,scol+1)=U; Alinear(srow+3,scol+2)=U; Alinear(srow+3,scol+5)=(u-l); clinear(srow+3) = U*u; Alinear(srow+4,1) = -(u-l)*opts.Q(i,3,1); Alinear(srow+4,2) = -(u-l)*opts.Q(i,3,2); Alinear(srow+4,3) = -(u-l)*opts.Q(i,3,3); Alinear(srow+4,scol+1) = L; Alinear(srow+4,scol+2) = L; Alinear(srow+4,scol+5) = (u-l); clinear(srow+4) = (u-l)*opts.Q(i,3,4) + L*l; Alinear(srow+11,1:3)=-opts.Q(i,3,1:3); clinear(srow+11) = -L+opts.Q(i,3,4); Alinear(srow+12,1:3)=opts.Q(i,3,1:3); clinear(srow+12) = U-opts.Q(i,3,4); endopts.Alinear = sparse(Alinear);opts.clinear = sparse(clinear);opts.A=[opts.Alinear;opts.Acone];opts.c=[opts.clinear;opts.ccone];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -