Add license header (overloading module)
[scilab.git] / scilab / modules / overloading / macros / %lss_v_lss.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA - Serge Steer
3 // 
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at    
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 function [s]=%lss_v_lss(s1,s2)
11 //s=%lss_v_lss(s1,s2)  <=> s = s1 "fedback" with s2
12 //             <=> s=s1/.s2    (in state-space)
13 //!
14 [s1,s2]=sysconv(s1,s2)
15 [a1,b1,c1,d1,x1,dom1]=s1(2:7)
16 [a2,b2,c2,d2,x2]=s2(2:6);
17 e12=1/(eye()+d2*d1)
18 e21=eye()-d1*e12*d2;b21=b2*e21;e12=b1*e12
19 a=[a1-e12*d2*c1 , -e12*c2 ; b21*c1 , a2-b21*d1*c2]
20 s=tlist(['lss','A','B','C','D','X0','dt'],a,[e12;b21*d1],e21*[c1 -d1*c2],...
21             e21*d1,[x1;x2],dom1)
22 endfunction