home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / octa21fb.zip / octave / SCRIPTS.ZIP / scripts.fat / control / packsys.m < prev    next >
Text File  |  1999-12-24  |  2KB  |  72 lines

  1. ## Copyright (C) 1996 Auburn University.  All Rights Reserved.
  2. ##
  3. ## This file is part of Octave. 
  4. ##
  5. ## Octave is free software; you can redistribute it and/or modify it 
  6. ## under the terms of the GNU General Public License as published by the 
  7. ## Free Software Foundation; either version 2, or (at your option) any 
  8. ## later version. 
  9. ## 
  10. ## Octave is distributed in the hope that it will be useful, but WITHOUT 
  11. ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
  12. ## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
  13. ## for more details.
  14. ## 
  15. ## You should have received a copy of the GNU General Public License 
  16. ## along with Octave; see the file COPYING.  If not, write to the Free 
  17. ## Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. 
  18.  
  19. ## O B S O L E T E: use ss2sys instead.
  20. ## function Asys = packsys(a,b,c[,d,dflg])
  21. ## 
  22. ##   dflg: 0 for continuous time system, 1 for discrete-time system.
  23. ## 
  24. ## defaults:
  25. ##      D: 0 matrix of appropriate dimension.
  26. ##   dflg: 0 (continuous time)
  27. ## 
  28. ## Note: discrete-state sampling time is not included!
  29.  
  30. function Asys = packsys (a, b, c, d, dflg)
  31.  
  32.   
  33.   ## Written by R. Bruce Tenison  July 29, 1994
  34.   ## Modified by David Clem November 13, 1994
  35.   ## Modified by A. S. Hodel April 1995
  36.  
  37.   warning("packsys is obsolete!  Use ss2sys instead.");
  38.   
  39.   if (nargin < 3 || nargin > 5)
  40.     disp("packsys: Invalid number of arguments")
  41.   endif
  42.  
  43.   ## check dflg
  44.   if(nargin == 5)
  45.     if( !is_scal(dflg))
  46.       [m,n] = size(dflg);
  47.       error(["packsys: dflg (",num2str(m),",",num2str(n), ...
  48.     ") must be a scalar."]);
  49.     elseif( (dflg != 0) && (dflg != 1))
  50.       error(["packsys: dflg=",num2str(dflg),"must be 0 or 1"]);
  51.     endif
  52.   else
  53.     ## default condition
  54.     dflg = 0;
  55.   endif
  56.  
  57.   if (nargin == 3)
  58.     ## No D matrix.  Form a zero one!
  59.     [brows,bcols] = size(b);
  60.     [crows,ccols] = size(c);
  61.     d = zeros(crows,bcols);
  62.   endif
  63.  
  64.   [n,m,p] = abcddim(a,b,c,d);
  65.   if (n == -1 || m == -1 || p == -1)
  66.     error("packsys: incompatible dimensions")
  67.   endif
  68.   
  69.   Asys = ss2sys(a,b,c,d,dflg);
  70.  
  71. endfunction
  72.