Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update and improve README
  • Loading branch information
cwrowley committed Apr 3, 2015
commit 7f937266aec38f13ca77b9cb0b436d09f752a515
111 changes: 71 additions & 40 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,65 +1,96 @@
Python Control System Library
=============================

.. image:: https://travis-ci.org/python-control/python-control.svg?branch=master
:target: https://travis-ci.org/python-control/python-control
:target: https://travis-ci.org/python-control/python-control
.. image:: https://coveralls.io/repos/python-control/python-control/badge.png
:target: https://coveralls.io/r/python-control/python-control
:target: https://coveralls.io/r/python-control/python-control

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
=====

- Project home page: http://python-control.sourceforge.net
- Source code repository: https://github.com/python-control/python-control
- Documentation: http://python-control.readthedocs.org/
- Issue tracker: https://github.com/python-control/python-control/issues
- Mailing list: http://sourceforge.net/p/python-control/mailman/


Dependencies
============

RMM, 23 May 09
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:

This directory contains the source code for the Python Control Systems
Library (python-control). This package provides a library of standard
control system algorithms in the python programming environment.
https://github.com/jgoppert/Slycot

Installation
------------
============

The package may be installed using pip or distutils.

Pip
---

To install using pip::

Using pip
~~~~~~~~~~~
pip install slycot # optional
pip install control

Pip is a python packaging system. It can be installed on debian based
linux distros with the command::
Distutils
---------

sudo apt-get install pip
To install in your home directory, use::

Pip can then be used to install python-control::
python setup.py install --user

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

python setup.py build
sudo python setup.py install

From Source
~~~~~~~~~~~

Standard python package installation::
Development
===========

python setup.py install
Code
----

To see if things are working, you can run the script
examples/secord-matlab.py (using ipython -pylab). It should generate a step
response, Bode plot and Nyquist plot for a simple second order linear
system.
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 also run a set of unit tests to make sure that everything is working
You can run a set of unit tests to make sure that everything is working
correctly. After installation, run::

python runtests.py

Slycot
------

Routines from the Slycot wrapper are used for providing the
functionality of several routines for state-space, transfer functions
and robust control. Many parts of python-control will still work
without slycot, but some functionality is limited or absent, and
installation of Slycot is definitely recommended. The Slycot wrapper
can be found at:
python setup.py test

https://github.com/jgoppert/Slycot
Contributing
------------

and can be installed with::
Your contributions are welcome! Simply fork the GitHub repository and send a
`pull request`_.

sudo pip install slycot
.. _pull request: https://github.com/python-control/python-control/pulls