assembles embedded subsytems, with exogenous inputs %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: ltpda_ss_assemble assembles embedded subsytems, with exogenous inputs CALL: [Subsys, listInputs] = ltpda_ss_assemble(listSubsystem) INPUTS: listSubsystem - parameter list (of parameter lists with subsystem format, see ltpda_ss_check for details) OUTPUTS: Syst - parameter lists with subsystem format describing the global new system PARAMETERS: 'NameSubsystem1' - Subsystem1 'NameSubsystem2' - Subsystem2 'NameSubsystem3' - Subsystem3 ... ***** There are no default parameter values ***** See ltpda_ss_check function for information on subsystem plist format See ltpad_ss_assemble_arrange function for information on input plist content VERSION: $Id: ltpda_ss_assemble.m,v 1.5 2008/03/11 16:52:56 adrien Exp $ HISTORY: 23-01-2008 A Grynagier 29-01-2008 A Grynagier TO DO : see in 'arrange' and 'fusion' subroutines. second one needs work on D inversion. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 function varargout = ltpda_ss_assemble( varargin ) 0002 % assembles embedded subsytems, with exogenous inputs 0003 % 0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0005 % 0006 % DESCRIPTION: ltpda_ss_assemble assembles embedded subsytems, with exogenous inputs 0007 % 0008 % CALL: [Subsys, listInputs] = ltpda_ss_assemble(listSubsystem) 0009 % 0010 % INPUTS: listSubsystem - parameter list (of parameter lists with subsystem 0011 % format, see ltpda_ss_check for details) 0012 % 0013 % OUTPUTS: Syst - parameter lists with subsystem format describing the 0014 % global new system 0015 % 0016 % PARAMETERS: 'NameSubsystem1' - Subsystem1 0017 % 'NameSubsystem2' - Subsystem2 0018 % 'NameSubsystem3' - Subsystem3 0019 % ... 0020 % ***** There are no default parameter values ***** 0021 % 0022 % See ltpda_ss_check function for information on subsystem plist format 0023 % See ltpad_ss_assemble_arrange function for information on input plist content 0024 % 0025 % VERSION: $Id: ltpda_ss_assemble.m,v 1.5 2008/03/11 16:52:56 adrien Exp $ 0026 % 0027 % HISTORY: 23-01-2008 A Grynagier 0028 % 29-01-2008 A Grynagier 0029 % 0030 % TO DO : see in 'arrange' and 'fusion' subroutines. second one needs work 0031 % on D inversion. 0032 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0033 0034 %% standard calls for LTPDA function data 0035 0036 ALGONAME = mfilename; 0037 VERSION = '$Id: ltpda_ss_assemble.m,v 1.5 2008/03/11 16:52:56 adrien Exp $'; 0038 CATEGORY = 'STATESPACE'; 0039 display(['starting ' ALGONAME]); 0040 0041 if length(varargin) >0 0042 if isequal( varargin{1}, 'Version') 0043 varargout = VERSION; 0044 return; 0045 elseif isequal(varargin{1}, 'Params') 0046 varargout = plist(); 0047 return; 0048 elseif isequal(varargin{1}, 'Category') 0049 varargout = CATEGORY; 0050 return; 0051 end 0052 end 0053 listsSubsystems = varargin{1}; 0054 system_out = plist(); 0055 %% calling subfonctions 0056 for i=1:length(listsSubsystems) 0057 listSubsystems = listsSubsystems(i); 0058 % building state space sparce representation with cell arrays 0059 listMeta = ltpda_ss_assemble_arrange(listSubsystems); 0060 % converting into matrices 0061 system_out(i) = ltpda_ss_assemble_fusion(listMeta); 0062 end 0063 varargout ={system_out}; 0064 end