(Public Domain) COSY_PAK (A symbolic COntrol SYstems analysis PAcKage) Version 0.81 for Mathematica Version 2.0 and higher by C.K.Chen N. Sreenath Systems Engineering Case School of Engineering Case Western Reserve University Cleveland, OH, 44106-7070 e-mail: sree@veda.cwru.edu --> Copyright :Copyright: Copyright 1992 by C. K. Chen and N. Sreenath, Case Western Reserve University. Permission to use, copy, modify and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in supporting documentation, and the name of the Case Western Reserve University, Case School of Engineering not be used in advertising or publicity pertaining to distribution of the software without specific, without prior permission. Case Western Reserve University makes no representations about the suitability of this software for any purpose. It is provided "as is" with out express or implied warranty. --> Acknowledgements Support from CWRU Information and Network Services - Dr. Ray Neff, Case Alumni Association, The Lilly Foundation and the Systems Engineering Department of Case Western Reserve University is gratefully acknowledged. Special thanks to Brian Evans of Georgia Tech for letting us use the LaPlace transform and signals packages which is a part of the Signal Processing Packages :Copyright: Copyright 1989-1991 by Brian L. Evans, Georgia Tech Research Corporation. --> FTP COSY_PAK is available by anonymous `ftp' from veda.esys.cwru.edu (Internet No. 129.22.40.9). A sample ftp session is given at the end of this file. --> Introduction This is an unsupported release of COSY_PAK - a COntrol SYstems analysis PAcKage for symbolic control systems analysis using Mathematica 2.0 and higher. Classical control systems analysis and design methods and some modern control systems methods have been implemented in this package. This package and the attendant notebooks were developed on a NeXT (TM) computer (an UNIX based workstation). They have been used as a supplementary teaching aid along with a standard control engineering text (Ogata [1991]) for an undergraduate course in `Control Engineering I' taught at the Systems Engineering Department of CWRU. In addition to the NeXT, they have also been tested successfully on Apple Macintosh computers (TM), and, IBM PC's (TM) running MS Windows(TM). We would be very much interested to hear from you if you or anybody you know use this software on platforms not mentioned above. IBM users however will have to evaluate the notebooks first to visualize the graphics. Once installed (see below for instructions), this collection of Mathematica packages can be loaded by any user. Bundled with the packages are many notebooks ("COSY_Notes") which demonstrate the functionality of these packages. The notebooks follow a plan of many fine, standard, undergraduate Control Engineering text books listed in the references. Examples used in these notebooks have been collected from the various references given at the end of this file. --> Compressed Files The files that contain a complete set of the COSY_PAK packages and Notebooks for Mathematica are: COSY_PAK_08.tar.Z compressed tar file for Unix systems COSY_PAK_08.hqx compressed hqx file for Macintosh systems COSY_PAK_IBM_08.zip zip file for the IBM PC running MS-DOS Once expanded the Mathematica files can also be used on Macintosh / IBM PC / Unix systems also. --> Installation of COSY_PAK In UNIX Command line type the following command: zcat COSY_PAK_08.tar.Z | tar xvf - In IBM Command line type the following command: unzip -o -d COSY_PAK_IBM_08.zip Note: IBM PC's may limit the directory name characters to eight. In that event type "unzip -o -d COSY_PAK.zip. Uncompressing and untarring "COSY_PAK_08.tar.Z" or unzipping "COSY_PAK_IBM_08.zip" will create a directory called "COSY_PAK_Main". Once the files are expanded you should see a single directory "COSY_PAK_Main" containing the following three files, four sub-directories and their contents: FILES in "COSY_PAK_Main": Index - index of files in directory COSY_PAK_Main README - this file, README2 - some tips, SUB-DIRECTORIES in "COSY_PAK_Main": COSYPAK - contains control tool box packages SignalProcessing - supporting files from Georgia Tech Signal Proc. Package (only those files that COSY_PAK notebooks use is provided, but the heirarchy of the Signal Proc. Packages is preserved) MANUAL - COSY_PAK manual "COSY_MAN" in .ps, .rtf, .txt, and .wn formats. COSY_Notes - contains notebooks FILES in directory "COSY_PAK": chap1.m chap2.m chap3.m chap4.m chap5.m chap6.m chap7.m FILES in directory "COSY_Notes": 01_Introduction.ma 02_Math_Model.ma 03_Transient_Response.m 04_Steady_State_Response.ma 05_Root_Locus.ma 06_Freq_Response.ma 07_State_Space.ma The notebook example files(.ma files) will be under the "COSY_Notes" directory. In order to install them in the proper place, move the directories `COSY_PAK' and `SignalProcessing' (with their contents intact) to the directories that Mathematica can recognize as indicated below. ~/Library/Mathematica/Packages on a UNIX machine MY_HardDisk:Mathematica:Packages on an Apple Macintosh c:\winmath\packages on an IBM PC NOTE : The files in "SignalProcessing" directory are from the very fine Signal Processing Packages courtesy Brian Evans of Georgia Institute of Technology. We use their Laplace and Inverse Laplace transform in our packages instead of the buggy one in Mathematica 2.0. The complete Signal Processing packages are available in anonymous ftp site (gauss.eedsp.gatech.edu or IP # 130.207.226.24). In addition we also use standard signals such as `impulse', `step' and `ramp' from this package. If you already have the Georgia Tech Signal Processing Packages installed on your machine, only the COSY_PAK directory need to be moved. At the beginning of the "Initialization" cell of each notebook in "COSY_Notes" directory, we list the example about how to make Mathematica identify the directory: (* Initialization of Path *) (* Example For a UNIX machine *) (* $Path=Join[$Path, {"~/Library/Mathematica/Packages"}]; *) (* Example For an Apple Macintosh *) (* $Path=Join[$Path, {"MY_HardDisk:Mathematica:Packages"}]; *) (* Example For IBM PC *) (* $Path=Join[$Path, {"c:\winmath\packages"}]; *) Change the pathname according to your machine by removing the Mathematica comment sign `(*' and `)*' before and after `$Path' setting. This command make Mathematica recognize the directory ~/Library/Mathematica/Packages on a UNIX machine MY_HardDisk:Mathematica:Packages on an Apple Macintosh c:\winmath\packages on an IBM PC NOTE : If you have `root' privileges and you have a NeXT or a Sun workstation then the following directory heirarchy is recommended /LocalLibrary/Mathematica/Packages on a NeXT /usr/local/math/Packages on a Sun Do not forget to edit the beginning of the "Initialization" cell of each notebook in "COSY_Notes" directory accordingly. --> Getting started After installation, start Mathematica and open the notebooks in the "COSY_Notes" directory. All notebooks load their own packages. Navigate in the notebooks and enjoy. IBM users however will have to evaluate the notebooks to visualize the graphics. --> Contents of Notebooks The contents of the notebooks in the "COSY_Notes" directory are given below. ----------- Begin "COSY_Notes" Contents ----------- NOTEBOOK FILE NAME: 01_Introduction.ma CHAPTER 1: Introduction to Control Systems Sections: Analyticity Poles and Zeros Signals Forward Laplace Transforms Inverse Laplace Transforms Differential Equation With Zero-Valued Initial Conditions Differential Equation With Initial Conditions ----------- NOTEBOOK FILE NAME: 02_Math_Models.ma CHAPTER 2: Mathematical Modeling of Dynamic Systems Sections: ODE to State Space Linearization of a Nonlinear System of Equations State Space to Transfer Function ----------- NOTEBOOK FILE NAME: 03_Transient_Response.ma CHAPTER 3: Transient-Response Analysis Sections: Time Response Analysis First order System First Order System (Step Response vs. Time Const) Second Order System Second Order System (Step Response vs. Damping Ratio) Third Order and Higher Order Systems ----------- NOTEBOOK FILE NAME: 04_Steady_State_Response.ma CHAPTER 4: Steady-State Response Sections: Routh's Stability Steady-State Error Analysis ----------- NOTEBOOK FILE NAME: 05_Root_Locus.ma CHAPTER 5: Root-Locus Analysis ----------- NOTEBOOK FILE NAME: 06_Freq_Response.ma CHAPTER 6: Frequency-Response Analysis Sections: Bode Plot Analysis Magnitude vs. Phase Plot (Nichols Plot) Polar Plot Nyquist Plot Combined Example ----------- NOTEBOOK FILE NAME: 07_State_Space.ma CHAPTER 7: State Space Methods Sections: Introduction State Transition Matrix Time Response Using State Space Methods Controllability Observability Output Controllability Pole Placement Design Observer Design ----------- End Notebook Contents ----------- *************************************************************** --> USER RESPONSIBILITIES We request you to take a few minutes and fill out the information below and mail it to us by e-mail / FAX / U.S. Mail. This will help us to keep your abreast of the improvements and release new versions of COSY_PAK. Suggetsions for improvements are welcome. -------------------------------cut here------------------------------- YOUR NAME: ________________________________________ ORGANIZATION: ________________________________________ TITLE: ________________________________________ e-mail: ________________________________________ POSTAL ADDRESS:________________________________________ ________________________________________ Comments & ________________________________________ Suggestions: ________________________________________ ________________________________________ -------------------------------cut here------------------------------- Mail this information to : INTERNET: sree@veda.cwru.edu U.S. Mail: Prof. N. Sreenath Tel.: (216) 368-6219 Systems Engg., Crawford Hall FAX: (216) 368-3123 Case Western Reserve Univ. Cleveland OH 44106-7070 *************************************************************** --> REPORT BUGS Please report bugs and leave comments to the address above. Any suggestion for improvements and criticism are welcome. We will do our best to fix any reported bugs. However, we cannot fix those bugs that have not been reported to us and those we do not know of. We would very much apprecite you taking a few minutes to communicate to us via e-mail / US Mail / Telephone / FAX. This will help us to release bug-free versions in the future. *************************************************************** --> Disclaimer and Future Releases This software is the property of the Case Western Reserve University. Use this software at your own risk. We make no express or implied warranty. The packages and the notebooks can also be made to run under Mathematica versions 1.2 or lower with modification. We do not guarantee the outcome. --> Documentation COSY_PAK functions are indexed in the files in the `COSY_MAN'directory according the chapters. Usage is illustrated in notebooks residing in `COSY_Notes' directory. If your computer does not support notebooks find a Macintosh computer and acquire MathReader which is a public domain notebook reader. MathReader will atleast allow you to peruse notebooks but you will not be able to evaluate any code fragments. --> References Dorf, R. C., "Modern Control Systems", Sixth Edition, Addison Wesley, New York, 1992. Fortmann, T. E., and Hitz, K. L., "An Introduction to Linear Control Systems", Marcel Dekker, 1977. Franklin, G. F., Powell, D. J., and Emami-Naeini, A., "Feedback Control of Dynamic Systems", Second Edition, Addison Wesley, New York, 1991. Kuo, B. C., "Automatic Control Systems", Sixth Edition, Prentice Hall, New Jersey, 1990. Ogata, K., "Modern Control Engineering", Second Edition, Prentice Hall, New Jersey, 1991. Phillips, C. L., and Harbor, R. D., "Feedback Control Systems", Second Edition, Prentice Hall, New Jersey, 1991. ===================================================================== TYPICAL `ftp' session : ----------------------- %ftp veda.esys.cwru.edu Connected to veda. 220 veda FTP server (Version 5.20 (NeXT 1.0) Sun Nov 11, 1990) ready. Name (veda.esys.cwru.edu:sree): anonymous Password: ftp> cd /pub ftp> binary ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for file list. COSY_PAK_08.tar.Z COSY_PAK_IBM_08.zip Index README .places.wmd COSY_PAK_untar 226 Transfer complete. 78 bytes received in 0 seconds (15.35 Kbytes/s) ftp> get COSY_PAK_08.tar.Z 200 PORT command successful. 150 Opening BINARY mode data connection for COSY_PAK_08.tar.Z (460822 bytes). 226 Transfer complete. local: COSY_PAK_08.tar.Z remote: COSY_PAK_08.tar.Z 460822 bytes received in 1.33 seconds (3.38e+02 Kbytes/s) ftp> quit 221 Goodbye.
*************************************************************** General Words of Wisdom from Brian Evans'Signal Processing Packages :Copyright: Copyright 1989-1991 by Brian L. Evans, Georgia Tech Research Corporation. *************************************************************** --> Macintosh Users Please let Mathematica allocate as much memory as possible. Conventional wisdom says 8Mb is adequate. You can check the value by clicking once on the Mathematica icon and select the Get Info option from the Finder's File menu. It is the number that appears in the lower left-hand corner of the info window. --> Warning A warning about opening some Notebooks under Mathematica 2.0. The new version of Mathematica changes the storage of PostScript graphics. PostScript graphics are now stored WITH the 20 kb header that was "assumed" to be there under Mathematica 1.2. When you open a 1.2 Notebook under 2.0, Mathematica will prepend this 20 kb to each PostScript graphic and render the graphic. Therefore, those Notebooks containing many graphics cells will take a long time to open under Mathematica 2.0. It also means that Notebooks will grow in size. Some of the signal processing Notebooks will quadruple in size, thus overwhelming the machine. --> Suggestion Please, please, use lower case one-letter symbols as variables and do not assign values to them. This includes variables like n, t, x, and y, as well as t1, t2, etc. Use one-letter upper case variables to represent constants (A, G,...), although Mathematica reserves I and N and we reserve L and Z.
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.