diff options
author | Shashank | 2017-05-29 12:40:26 +0530 |
---|---|---|
committer | Shashank | 2017-05-29 12:40:26 +0530 |
commit | 0345245e860375a32c9a437c4a9d9cae807134e9 (patch) | |
tree | ad51ecbfa7bcd3cc5f09834f1bb8c08feaa526a4 /modules/cacsd/macros/dcf.sci | |
download | scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.gz scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.bz2 scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.zip |
CMSCOPE changed
Diffstat (limited to 'modules/cacsd/macros/dcf.sci')
-rwxr-xr-x | modules/cacsd/macros/dcf.sci | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/cacsd/macros/dcf.sci b/modules/cacsd/macros/dcf.sci new file mode 100755 index 000000000..5c607c3e3 --- /dev/null +++ b/modules/cacsd/macros/dcf.sci @@ -0,0 +1,34 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) INRIA - +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + +function [n,m,x,y,nt,mt,xt,yt]=dcf(g,polf,polc,tol) + //[n,m,x,y,nt,mt,xt,yt]=dcf(g,[polf,polc,[tol]]) returns eight + //stable systems (n,m,x,y,nt,mt,xt,yt) for the doubly coprime factorization + // + // !xt -yt! ! m y ! + // ! !*! ! = eye + // !-nt mt! ! n x ! + // G must be stabilizable and detectable. + // See copfac for a description of parameters. + //! + + [lhs,rhs]=argn(0), + n1=contr(g(2),g(3)),n2=contr(g(2)',g(4)'), + select rhs, + case 1 then + polc=-ones(1,n1),polf=-ones(1,n2),tol=1000*%eps, + case 2 then + tol=polf,polc=-ones(1,n1),polf=-ones(1,n2), + case 3 then tol=1000*%eps, + end, + [n,m,xt,yt]=copfac(g,polf,polc,tol), + [nt,mt,x,y]=copfac(g',polc,polf,tol), + nt=nt',mt=mt',x=x',y=y', +endfunction |