home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / octa21fb.zip / octave / SCRIPTS.ZIP / scripts.fat / control / syschtsa.m < prev    next >
Text File  |  1999-12-24  |  2KB  |  49 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. ## -*- texinfo -*-
  20. ## @deftypefn {Function File } { retsys =} syschtsa ( sys,tsam ) 
  21. ## This function changes the sampling time (tsam) of the system.  Exits with
  22. ## an error if sys is purely continuous time.
  23. ## @end deftypefn
  24.  
  25. function retsys = syschtsa (sys, tsam)
  26. ## Written by John Ingram August 1996
  27.  
  28.   if (nargin != 2)
  29.     usage("retsys = syschtsa(sys,tsam)");
  30.   elseif (!is_struct(sys))
  31.     error("sys must be in system data structure form");
  32.   elseif(!is_scal(tsam))
  33.     disp("syschtsa:")
  34.     tsam
  35.     error("tsam must be a scalar")
  36.   elseif ( ! (is_sampl(tsam) | (tsam == 0) ) )
  37.     error("tsam must be real, scalar, and greater than zero");
  38.   elseif (sysgetts(sys) == 0)
  39.     [nc,nz,mm,pp] = sysdimen(sys);
  40.     warning("syschtsa: continuous system (nc=%d, nz=%d, mm=%d, pp=%d)", ...
  41.       nc,nz,mm,pp);
  42.     warning("syschtsa: The system is continuous, use c2d to make the system discrete");
  43.   endif
  44.  
  45.   retsys = sys;  
  46.   retsys.tsam = tsam;
  47.  
  48. endfunction
  49.