www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@xregbdrydev/StoreStatus.m
function bdev = StoreStatus(bdev,con,sfopts,sp,bp) %STORESTATUS store fit results and status in bdrydev % % bdev = StoreStatus(bdev,con,sfopts,sp,bp); % Copyright 2008 The MathWorks, Inc. and Ford Global Technologies, Inc. bdev.SpecialPoints = sp; bdev.BoundaryPoints = bp; bdev.Constraint = con; % Update the staus info F = pBdrydevStatusFlags( bdev ); if sfopts.doSpecialPoints if ~isempty(bdev.BoundaryPointOptions), bdev.Status = bitor( bdev.Status, F.CanFindBoundaryPoints ); elseif ~isempty(bdev.ConstraintFitOptions), bdev.Status = bitor( bdev.Status, F.CanFitConstraint ); else bdev.Status = bitor( bdev.Status, F.ConstraintFitted ); end end if sfopts.doBoundaryPoints, if ~isempty(bdev.ConstraintFitOptions), bdev.Status = bitor( bdev.Status, F.CanFitConstraint ); else bdev.Status = bitor( bdev.Status, F.ConstraintFitted ); end end if sfopts.doFitConstraint, bdev.Status = bitor( bdev.Status, F.ConstraintFitted ); end if sfopts.doSpecialPoints && ~isempty(bdev.BoundaryPointOptions) && ~sfopts.doBoundaryPoints ... && ~isempty(bdev.ConstraintFitOptions), % Can't now fit constraint or say that the constraint is fitted bdev.Status = bitand( bdev.Status, bitcmp( F.CanFitConstraint ) ); bdev.Status = bitand( bdev.Status, bitcmp( F.ConstraintFitted ) ); end if sfopts.doBoundaryPoints && ~isempty(bdev.ConstraintFitOptions) && ~sfopts.doFitConstraint, % Can't now say that the constraint is fitted bdev.Status = bitand( bdev.Status, bitcmp( F.ConstraintFitted ) ); end xregpointer(bdev);