Skip to content

djvita/python-control

 
 

Repository files navigation

image

image

Python Control Systems Library

The Python Control Systems Library is a Python module that implements basic operations for analysis and design of feedback control systems.

Features

  • Linear input/output systems in state-space and frequency domain
  • Block diagram algebra: serial, parallel, and feedback interconnections
  • Time response: initial, step, impulse
  • Frequency response: Bode and Nyquist plots
  • Control analysis: stability, reachability, observability, stability margins
  • Control design: eigenvalue placement, linear quadratic regulator
  • Estimator design: linear quadratic estimator (Kalman filter)

Links

Dependencies

The package requires numpy, scipy, and matplotlib. In addition, some routines use a module called slycot, that is a Python wrapper around some FORTRAN routines. Many parts of python-control will work without slycot, but some functionality is limited or absent, and installation of slycot is recommended (see below). Note that in order to install slycot, you will need a FORTRAN compiler on your machine. The Slycot wrapper can be found at:

https://github.com/jgoppert/Slycot

Installation

The package may be installed using pip or distutils.

Pip

To install using pip:

pip install slycot   # optional
pip install control

Distutils

To install in your home directory, use:

python setup.py install --user

To install for all users (on Linux or Mac OS):

python setup.py build
sudo python setup.py install

Development

Code

You can check out the latest version of the source code with the command:

git clone https://github.com/python-control/python-control.git

Testing

You can run a set of unit tests to make sure that everything is working correctly. After installation, run:

python setup.py test

Contributing

Your contributions are welcome! Simply fork the GitHub repository and send a pull request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%