www.gusucode.com > mbcexpr 工具箱 matlab 源码程序 > mbcexpr/+cgsimfill/@Feature/getOptimValues.m
function [V0,JPattern,Bnds,A,C] = getOptimValues(F) %getOptimValues % % [V0,JPattern,Bnds,A,C] = getOptimValues(F) % V0 Initial table values % JPattern Jacobian Pattern % Bnds Bounds on Table Values % A,C Linear constraints for table gradients % Copyright 2005-2009 The MathWorks, Inc. nTabs= length(F.Tables); V0= []; JPattern=logical([]); Bnds=[]; A= []; C= []; for i=1:nTabs T= F.Tables(i); if ~isempty(T.Values) sf= T.ScaleFactor; V= T.Values/sf; % concatenate values V0= [V0 ; V]; % make sure concatenation of Jacobian patterns works if size(JPattern,1)==1 && size(T.JacobPattern,1)>1 JPattern = repmat(JPattern,size(T.JacobPattern,1),1); end if size(T.JacobPattern,1)==1 && size(JPattern,1)>1 T.JacobPattern = repmat(T.JacobPattern,size(JPattern,1),1); end JPattern= [JPattern T.JacobPattern]; Bnds= [Bnds ; repmat(T.Bounds/sf,length(V),1)]; % Gradient Constraints A= blkdiag(A,T.LinearConstraints{1}*sf); C= [C ; T.LinearConstraints{2}]; end end if size(JPattern,1)==1 % don't use sparsity pattern if there is only one row JPattern= []; end