www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@des_constraints/loadobj.m
function cout=loadobj(cin) % LOADOBJ Object loading function % % B=LOADOBJ(A) is called when a des_constraints object % is loaded % Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc. if isa(cin,'des_constraints'); % loading worked ok anyway cout=cin; else cout=cin; % do version switching % new features are cumulatively added to this section if ~isfield(cout,'version') % version 1 --> 2 additions cout.Table2D = {}; cout.version = 2; end if cout.version<3 cout.Constraints=i_createcons(cout); cout=mv_rmfield(cout,{'NumConstraints',... 'A','b',... 'Table',... 'Ellipsoid',... 'Table2D',... 'NonLinear'}); cout.version=3; end cout=des_constraints(cout); end function cons=i_createcons(cout) NF=length(cout.Factors); cons={}; for n=1:length(cout.b) cons(end+1)={conlinear(NF,'A',cout.A(n,:),'b',cout.b(n))}; end for n=1:length(cout.Ellipsoid) cons(end+1)={conellipsoid(NF,'xc',cout.Ellipsoid{n}{1},'W',cout.Ellipsoid{n}{2})}; end for n=1:length(cout.Table2D) cons(end+1)={contable1(NF,'breakx',cout.Table2D{n}{1},'table',cout.Table2D{n}{2},... 'factors',cout.Table2D{n}{3},'le',cout.Table2D{n}{4})}; end for n=1:length(cout.Table) cons(end+1)={contable2(NF,'breakx',cout.Table{n}{2},'breaky',cout.Table{n}{1},... 'table',cout.Table{n}{3},... 'factors',cout.Table{n}{4},'le',cout.Table{n}{5})}; end return