Merge pull request #228 from murrayrm/doc_updates · python-control/python-control@4b0101c

@@ -45,8 +45,8 @@ transfer functions

4545

.. math::

46464747

G(s) = \frac{\text{num}(s)}{\text{den}(s)}

48-

= \frac{a_0 s^n + a_1 s^{n-1} + \cdots + a_n}

49-

{b_0 s^m + b_1 s^{m-1} + \cdots + b_m},

48+

= \frac{a_0 s^m + a_1 s^{m-1} + \cdots + a_m}

49+

{b_0 s^n + b_1 s^{n-1} + \cdots + b_n},

50505151

where n is generally greater than or equal to m (for a proper transfer

5252

function).

@@ -77,23 +77,27 @@ performed.

77777878

Discrete time systems

7979

---------------------

80-

By default, all systems are considered to be continuous time systems. A

81-

discrete time system is created by specifying the 'time base' dt. The time

82-

base argument can be given when a system is constructed:

80+

A discrete time system is created by specifying a nonzero 'timebase', dt.

81+

The timebase argument can be given when a system is constructed:

838284-

* dt = None: no timebase specified

83+

* dt = None: no timebase specified (default)

8584

* dt = 0: continuous time system

8685

* dt > 0: discrete time system with sampling period 'dt'

8786

* dt = True: discrete time with unspecified sampling period

88878988

Only the :class:`StateSpace` and :class:`TransferFunction` classes allow

9089

explicit representation of discrete time systems.

919092-

Systems must have the same time base in order to be combined. For

93-

continuous time systems, the :func:`sample_system` function or the

94-

:meth:`StateSpace.sample` and :meth:`TransferFunction.sample` methods can be

95-

used to create a discrete time system from a continuous time system. See

96-

:ref:`utility-and-conversions`.

91+

Systems must have compatible timebases in order to be combined. A system

92+

with timebase `None` can be combined with a system having a specified

93+

timebase; the result will have the timebase of the latter system.

94+

Similarly, a discrete time system with unspecified sampling time (`dt =

95+

True`) can be combined with a system having a specified sampling time;

96+

the result will be a discrete time system with the sample time of the latter

97+

system. For continuous time systems, the :func:`sample_system` function or

98+

the :meth:`StateSpace.sample` and :meth:`TransferFunction.sample` methods

99+

can be used to create a discrete time system from a continuous time system.

100+

See :ref:`utility-and-conversions`.

9710198102

Conversion between representations

99103

----------------------------------

@@ -106,18 +110,23 @@ argument or using the explicit conversion functions :func:`ss2tf` and

106110107111

Time series data

108112

================

109-110-

This is a convention for function arguments and return values that

111-

represent time series: sequences of values that change over time. It

112-

is used throughout the library, for example in the functions

113+

A variety of functions in the library return time series data: sequences of

114+

values that change over time. A common set of conventions is used for

115+

returning such data: columns represent different points in time, rows are

116+

different components (e.g., inputs, outputs or states). For return

117+

arguments, an array of times is given as the first returned argument,

118+

followed by one or more arrays of variable values. This convention is used

119+

throughout the library, for example in the functions

113120

:func:`forced_response`, :func:`step_response`, :func:`impulse_response`,

114121

and :func:`initial_response`.

115122116123

.. note::

117-

This convention is different from the convention used in the library

118-

:mod:`scipy.signal`. In Scipy's convention the meaning of rows and columns

119-

is interchanged. Thus, all 2D values must be transposed when they are

120-

used with functions from :mod:`scipy.signal`.

124+

The convention used by python-control is different from the convention

125+

used in the `scipy.signal

126+

<https://docs.scipy.org/doc/scipy/reference/signal.html>`_ library. In

127+

Scipy's convention the meaning of rows and columns is interchanged.

128+

Thus, all 2D values must be transposed when they are used with functions

129+

from `scipy.signal`_.

121130122131

Types:

123132

@@ -177,7 +186,7 @@ conventions. The currently configurable options allow the units for Bode

177186

plots to be set as dB for gain, degrees for phase and Hertz for frequency

178187

(MATLAB conventions) or the gain can be given in magnitude units (powers of

179188

10), corresponding to the conventions used in `Feedback Systems

180-

<http://www.cds.caltech.edu/~murray/FBSwiki>`_.

189+

<http://fbsbook.org>`_ (FBS).

181190182191

Variables that can be configured, along with their default values:

183192

* bode_dB (False): Bode plot magnitude plotted in dB (otherwise powers of 10)

@@ -190,6 +199,7 @@ Variables that can be configured, along with their default values:

190199

Functions that can be used to set standard configurations:

191200192201

.. autosummary::

193-202+

:toctree: generated/

203+194204

use_fbs_defaults

195205

use_matlab_defaults