www.gusucode.com > mbcexpr 工具箱 matlab 源码程序 > mbcexpr/@cglookup/GradientConstraints.m
function LT= GradientConstraints(LT,MaxGrad) %GRADIENTCONSTRAINTS % % LT= GradientConstraints(LT,MaxGrad) % Copyright 2005 The MathWorks, Inc. V= get(LT,'values'); Bnds= get(LT,'range'); % linear gradient constraints [A,C,nzt]= deltablecon(LT,[],MaxGrad); V0= V(nzt); n= length(V0); Bnds= repmat(Bnds,1,n); % solve qp to keep values as close as possible to current values and % satisfy gradients and bounds qopt= optimset(optimset('quadprog'),... 'largescale','off',... 'display','none'); [dV,FVAL,EXITFLAG] =quadprog(eye(n),zeros(1,n),A,C-A*V0,[],[],... Bnds(:,1)-V0,Bnds(:,2)-V0,zeros(n,1),qopt); V(nzt)= V0+dV; LT= set(LT,'values',{V,'Gradient Constraints'});