Control

Latest version: v0.10.1

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

0.4b

2011-04-02 Richard Murray <murraymalabar.local>

* src/__init__.py: removed import of tests module (moved to tests/)

* src/matlab.py: Added hsvd, balred, modred to list of functions
that are imported for use as is. Updated documentation string to
indicate that these are implemented, along with a few other
functions (zero, lqr) that weren't properly listed.

* src/modelsimp.py (balred): Removed extraneous print statements
(modred): Set method to be 'matchdc' by default (to match MATLAB)

* src/__init__.py: added missing import of modelsimp functions

* tests/slycot_convert_test.py (TestSlycot.testTF): turned off print
statements in unit test to make it easier to see results. Use
verbose=True to turn back on.

* tests/convert_test.py (TestConvert.testConvert): got rid of print
statements in unittest; clutters the output so that you can't see
the errors clearly. Use verbose=True to turn back on.

* src/statesp.py (_convertToStateSpace): removed "buggy" print
statements

* src/xferfcn.py (_convertToTransferFunction): removed "buggy" print
statements

* tests/nichols_test.py (TestStateSpace.testNgrid): updated testcode
to turn off grid in initial Nichols chart plot.

* src/freqplot.py: updated comments at top of file to reflect
nichols chart move

* src/nichols.py: transferred over changes from v0.3d

* src/matlab.py (ngrid): moved import to function

2011-03-31 Richard Murray <murraymalabar.local>

* examples/pvtol-nested.py: updated stability margin plot to use
proper calling format for bode().

* src/statesp.py (_convertToStateSpace): moved slycot import
to the location where it is actually needed (allows running some
commands without slycot installed)

* src/xferfcn.py (_convertToTransferFunction): moved slycot import
to the location where it is actually needed (allows running some
commands without slycot installed)

* src/nichols.py: new file for Nichols plot routines; move
nichols(), nichols_grid(), closed_loop_contours(), m_circles(),
n_circles()

* src/__init__.py, src/freqresp.py, src/matlab.py: updated to match
new file structure for Nichols charts

* src/nichols.py (nichols): updated processing of freqresp to take
into account the fact that return arguments are now a matrix of
results (even for a SISO system)

2011-03-30 Richard Murray <murraymalabar.local>

* tests/: added top level subdirectory, to be used for unit tests.
The idea in putting the code here is that you can do 'setup.py test'
during installation to make sure everything is working correctly.
The test code would normally *not* be callable from the installed
module.

* tests/*_test.py: moved from src/Test*.py

* setup.py: updated version number.

2011-02-13 Richard Murray <murraysumatra.local>

* src/*.py: added svn:keywords Id properly

* src/matlab.py (ngrid): added ngrid() from v0.3d

* src/freqplot.py (nichols_grid, closed_loop_contours, m_circles,
n_circles): copied over changes from Allan McInnes in v0.3d; ngrid()
functiality + split out some of the nichols chart code into separate
functions

2011-02-12 Richard Murray <murraysumatra.local>

* setup.py: updated version number to 0.4a

2010-11-05 Richard Murray <murraysumatra.local>

* external/yottalab.py: New file containing Roberto Bucher's control
library functions. OK to start pulling these into the main library,
with attribution, but note that they use modifications of the
default library => some rewrites will be needed.

2010-09-11 Richard Murray <murraysumatra.local>

* src/matlab.py (step): Added local step response function that uses
lsim2() instead of signal.step (which can't handle integrators).
This function may not be needed when new scipy step2() function is
available.
(impulse): Added local impulse response function that sets the
initial condition based on the input matrix and then uses the
lsim2() function to compute the response.

* examples/test-response.py: Added test script for making sure that
time repsonse functions are working as desired

* src/matlab.py (lsim): Added local version of lsim that calls
signal.lsim2 (actual ODE integrator)

2010-09-06 Richard Murray <murraysumatra.local>

* src/statefbk.py (ctrb): new function for testing controllability
* src/statefbk.py (obsv): new function for testing observabiilty

2010-09-02 Richard Murray <murraysumatra.local>

* src/statefbk.py (place): Use np.size() instead of len() for
finding length of placed_eigs for better compatibility with
different python versions [courtesy of Roberto Bucher]

* src/delay.py (pade): New file for delay-based computations +
initial implementation of pade() [courtesy Sawyer Fuller]

2010-06-17 Richard Murray <murraysumatra.local>

* src/rlocus.py: changed num, den to nump, denp for clarity
* src/rlocus.py: new file with Ryan Krauss's root locus code

2010-06-06 Richard Murray <murraysumatra.local>

* examples/pvtol-lqr.py: Added example to test out LQR routines

* src/matlab.py (bode): created a wrapper that allows MATLAB style
arguments for bode (eg, bode(sys1, sys2))

* src/ctrlutil.py (issys): added new function to check if an object
is a system (state space or transfer function). Will generalize
this latter to look for other compatible classes.

* src/freqplot.py (bode): Compute frequency range of bode plot based
on poles and zeros
(bode): Allow bode plot to be passed a list (or tuple) as the first
argument, in which case multiple bode plots are generated

* src/statesp.py (StateSpace.zeros): new function to compute zeros
for a state space system
(StateSpace): defined new functions to compute poles of a state
space system

* src/xferfcn.py (TransferFunction): defined new functions to
compute poles and zeros of a transfer function.

2010-05-31 Richard Murray <murraysumatra.local>

* src/exception.py (ControlNotImplemented): added new exception, to
be used for functions that are not yet implemented

* src/statefbk.py (lqr): added lqr function (using slycot). Still
needs to be verified to make sure calculations are correct.

* ChangeLog: converted to standard GNU formation (old style below)
* setup.py: updated package number to v0.3, changed URL to
sourceforge wiki

------------------
31 May 2010, RMM: added place() function using slycot
* New module: statefbk - functions to design state feedback controllers
* Uses Enrico Avventi slycot wrappers (http://github.com/avventi/Slycot)
* Also added some exception types: ControlSlycot and ControlDimension
* Added new example to test slycot interface (directly)

29 May 2010, RMM: updated function documentation
* Added __doc__ strings for all current functions
* Added __doc__ string to matlab module, listing control toolbox functions

22 May 2010, RMM: tweaked comments and released v0.3a
* Changed copyright information on modified files to 2010
* Updated "to do" comments to use "! TODO:" as prefix

11 Feb 2010, GR: implemented and tested state space feedback
15 Jan 2010, GR: added new example, improved bode

4 Jan 2010, GR: updated bode plots
* made bode plot more like matlab
* added options for plotting in dB, Hz

27 Dec 2009, GR: important bug fix: feedback TFs were being divided by two

10 Oct 09, RMM: reset matplotlib import in secord-matlab
* Using 'from matplotlib import *' causes error with figures
* On my other computer, got error when trying to import 'matplotlib.pyplot'
* Need to sort out versions and figure out proper import structure

13 Sep 09, RMM: added basic state space functionality
* Updated StateSpace routines to allow BD algebra with constants
* Updated pvtol-nested example to try to use state space representation
(not completely working yet)

12 Sep 09, RMM: code restructuring for transfer functions
* Implemented feedback() method in bldalg; partially working
for mixture of TF, SS and numbers (not thoroughly tested yet)
* New feedback method for TransferFunctions
* Updated gangof4 to use new feedback function

9 Sep 09, RMM: updated pzmap to generate a plot (turn off with Plot=False)

8 Sep 09, RMM: rewrite of xferfcn to handle type casting better
* Appropriate functions now call convertToTransferFunction
* Restricted transfer function to SISO only

7 Sep 09, RMM: additional fixes
* Implemented block diagram operations for SISO transfer functions
* Modified frequency response functions for transfer functions
* Added rudimentary pole/zero computations
* Added comments on things that need to be fixed (search for !)

5 Sep 09, RMM: updates to get standard examples working
* Copied and converted pvtol_nested.py from AM08, Chapter 11
* Updated freqresp to use poly1d for computing values
* Added outputs to bode plot - return mag and phase subplot handles

2009-05-24 Richard Murray <murraykona-2.local>
* ./ Initial creation of package files and ChangeLog
* Using simpler text format since emacs python mode doesn't support
ChangeLog entries anyway



Local Variables:
mode:text
End:

Page 2 of 2

Links

Releases

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.