Skip to content

Commit bb3aeb0

Browse files
committed
updated intro text
1 parent 5308888 commit bb3aeb0

2 files changed

Lines changed: 40 additions & 59 deletions

File tree

control/__init__.py

Lines changed: 13 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,23 @@
11
# __init__.py - initialization for control systems toolbox
22
#
33
# Author: Richard M. Murray
4-
# Date: 24 May 09
5-
#
6-
# This file contains the initialization information from the control package.
7-
#
8-
# Copyright (c) 2009 by California Institute of Technology
9-
# All rights reserved.
10-
#
11-
# Redistribution and use in source and binary forms, with or without
12-
# modification, are permitted provided that the following conditions
13-
# are met:
14-
#
15-
# 1. Redistributions of source code must retain the above copyright
16-
# notice, this list of conditions and the following disclaimer.
17-
#
18-
# 2. Redistributions in binary form must reproduce the above copyright
19-
# notice, this list of conditions and the following disclaimer in the
20-
# documentation and/or other materials provided with the distribution.
21-
#
22-
# 3. Neither the name of the California Institute of Technology nor
23-
# the names of its contributors may be used to endorse or promote
24-
# products derived from this software without specific prior
25-
# written permission.
26-
#
27-
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28-
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29-
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30-
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CALTECH
31-
# OR THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32-
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33-
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
34-
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
35-
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
36-
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
37-
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38-
# SUCH DAMAGE.
39-
#
40-
# $Id$
4+
# Date: 24 May 2009
415

42-
"""
43-
The Python Control Systems Library :mod:`control` provides common functions
6+
"""The Python Control Systems Library :mod:`control` provides common functions
447
for analyzing and designing feedback control systems.
458
9+
The initial goal for the package is to implement all of the
10+
functionality required to work through the examples in the textbook
11+
`Feedback Systems <http://fbsbook.org>`_ by Astrom and Murray. In
12+
addition to standard techniques available for linear control systems,
13+
support for nonlinear systems (including trajectory generation, gain
14+
scheduling, phase plane diagrams, and describing functions) is also
15+
included. A :ref:`matlab-module` is available that provides many of
16+
the common functions corresponding to commands available in the MATLAB
17+
Control Systems Toolbox.
18+
4619
Documentation is available in two forms: docstrings provided with the code,
47-
and the python-control users guide, available from `the python-control
20+
and the python-control User Guide, available from the `python-control
4821
homepage <https://www.python-control.org>`_.
4922
5023
The docstring examples assume that the following import commands::

doc/intro.rst

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,10 @@ examples illustrating their use.
1010
Package overview
1111
================
1212

13-
The python-control package is a set of python classes and functions that
14-
implement common operations for the analysis and design of feedback control
15-
systems. The initial goal is to implement all of the functionality required
16-
to work through the examples in the textbook `Feedback Systems
17-
<http://fbsbook.org>`_ by Astrom and Murray. A :ref:`matlab-module` is
18-
available that provides many of the common functions corresponding to
19-
commands available in the MATLAB Control Systems Toolbox.
20-
21-
.. todo:: Add information from :module:`control`?
13+
.. automodule:: control
14+
:no-members:
15+
:no-inherited-members:
16+
:no-special-members:
2217

2318
Installation
2419
============
@@ -51,7 +46,7 @@ To install using pip::
5146

5247
.. note::
5348
If you install Slycot using pip you'll need a development
54-
environment (e.g., Python development files, C and Fortran compilers).
49+
environment (e.g., Python development files, C, and Fortran compilers).
5550
Pip installation can be particularly complicated for Windows.
5651

5752
Many parts of `python-control` will work without `slycot`, but some
@@ -65,9 +60,10 @@ and verifying that no error message appears. More information on the
6560
Slycot package can be obtained from the `Slycot project page
6661
<https://github.com/python-control/Slycot>`_.
6762

68-
Alternatively, to install from source, first `download the source
69-
<https://github.com/python-control/python-control/releases>`_ and unpack it.
70-
To install in your home directory, use::
63+
Alternatively, to install `python-control` from source, first
64+
`download the source code
65+
<https://github.com/python-control/python-control/releases>`_ and
66+
unpack it. To install in your Python environment, use::
7167

7268
pip install .
7369

@@ -87,17 +83,29 @@ functionality may not be available.
8783

8884
Some differences from MATLAB
8985
============================
90-
The python-control package makes use of `NumPy <http://www.numpy.org>`_ and
91-
`SciPy <https://www.scipy.org>`_. A list of general differences between
92-
NumPy and MATLAB can be found `here
86+
87+
Users familiar with the MATLAB control systems toolbox will find much
88+
of the functionality implemented in `python-control`, though using
89+
Python constructs and coding conventions. The python-control package
90+
makes heavy use of `NumPy <http://www.numpy.org>`_ and `SciPy
91+
<https://www.scipy.org>`_ and many differences are reflected in the
92+
use of those . A list of general differences between NumPy and MATLAB
93+
can be found `here
9394
<https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html>`_.
9495

9596
In terms of the python-control package more specifically, here are
9697
some things to keep in mind:
9798

98-
* You must include commas in vectors. So [1 2 3] must be [1, 2, 3].
99-
* Functions that return multiple values use objects (with elements for
100-
each return value) or tuples.
99+
* Vectors and matrices used as arguments to functions can be written
100+
using lists, with commas required between elements and column
101+
vectors implemented as nested list . So [1 2 3] must be written as
102+
[1, 2, 3] and matrices are written using 2D nested lists, e.g., [[1,
103+
2], [3, 4]].
104+
* Functions that return multiple values use either objects (with
105+
elements for each return value) or tuples. The number of elements
106+
in a tuple is fixed and so functions that return variable numbers of
107+
return values will have a parameter of the form ``return_<val>``
108+
that is used to return additional data.
101109
* You cannot use braces for collections; use tuples instead.
102110
* Time series data have time as the final index (see
103111
:ref:`time-series-convention`).

0 commit comments

Comments
 (0)