view m-toolbox/classes/@smodel/copy.m @ 19:69e3d49b4b0c
database-connection-manager
Update ltpda_uo.fromRepository
author
Daniele Nicolodi <nicolodi@science.unitn.it>
date
Mon, 05 Dec 2011 16:20:06 +0100 (2011-12-05)
parents
f0afece42f48
children
line source
+ − % COPY makes a (deep) copy of the input smodel objects.
+ − %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − %
+ − % DESCRIPTION: COPY makes a deep copy of the input smodel objects.
+ − %
+ − % CALL: b = copy(a, flag)
+ − %
+ − % INPUTS: a - input smodel object
+ − % flag - 1: make a deep copy, 0: return copies of handles
+ − %
+ − % OUTPUTS: b - copy of inputs
+ − %
+ − % This is a transparent function and adds no history.
+ − %
+ − % VERSION: $Id: copy.m,v 1.7 2011/02/11 19:59:02 luigi Exp $
+ − %
+ − %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ −
+ − function varargout = copy(old, deepcopy)
+ −
+ − if deepcopy
+ − % Loop over input smodel objects
+ − new = smodel.newarray(size(old));
+ − obj = copy@ltpda_uoh(new, old, 1);
+ −
+ − for kk=1:numel(old)
+ − obj(kk).expr = old(kk).expr;
+ − obj(kk).params = old(kk).params;
+ − obj(kk).values = old(kk).values;
+ − obj(kk).xvar = old(kk).xvar;
+ − obj(kk).xvals = old(kk).xvals;
+ − obj(kk).trans = old(kk).trans;
+ − obj(kk).aliasNames = old(kk).aliasNames;
+ − obj(kk).aliasValues = old(kk).aliasValues;
+ − obj(kk).xunits = copy(old(kk).xunits,1);
+ − obj(kk).yunits = copy(old(kk).yunits,1);
+ − end
+ − else
+ − obj = old;
+ − end
+ −
+ − varargout{1} = obj;
+ − end
+ −