|
From: <mur...@us...> - 2011-08-07 15:21:47
|
Revision: 174
http://python-control.svn.sourceforge.net/python-control/?rev=174&view=rev
Author: murrayrm
Date: 2011-08-07 15:21:38 +0000 (Sun, 07 Aug 2011)
Log Message:
-----------
tagging 0.5a
Modified Paths:
--------------
trunk/ChangeLog
Added Paths:
-----------
tags/control-0.5a/
tags/control-0.5a/ChangeLog
tags/control-0.5a/doc/Makefile
tags/control-0.5a/doc/README
tags/control-0.5a/doc/conf.py
tags/control-0.5a/doc/index.rst
tags/control-0.5a/doc/intro.rst
tags/control-0.5a/doc/matlab_strings.rst
tags/control-0.5a/examples/README
tags/control-0.5a/examples/genswitch.py
tags/control-0.5a/examples/phaseplots.py
tags/control-0.5a/examples/pvtol-lqr.py
tags/control-0.5a/examples/pvtol-nested-ss.py
tags/control-0.5a/examples/pvtol-nested.py
tags/control-0.5a/examples/secord-matlab.py
tags/control-0.5a/examples/test-response.py
tags/control-0.5a/setup.py
tags/control-0.5a/src/__init__.py
tags/control-0.5a/src/ctrlutil.py
tags/control-0.5a/src/delay.py
tags/control-0.5a/src/freqplot.py
tags/control-0.5a/src/margins.py
tags/control-0.5a/src/mateqn.py
tags/control-0.5a/src/matlab.py
tags/control-0.5a/src/modelsimp.py
tags/control-0.5a/src/nichols.py
tags/control-0.5a/src/phaseplot.py
tags/control-0.5a/src/pzmap.py
tags/control-0.5a/src/rlocus.py
tags/control-0.5a/src/statefbk.py
tags/control-0.5a/src/statesp.py
tags/control-0.5a/src/timeresp.py
tags/control-0.5a/src/xferfcn.py
tags/control-0.5a/tests/convert_test.py
tags/control-0.5a/tests/margin_test.py
tags/control-0.5a/tests/matlab_test.py
tags/control-0.5a/tests/phaseplot_test.py
tags/control-0.5a/tests/test_all.py
tags/control-0.5a/tests/timeresp_test.py
Removed Paths:
-------------
tags/control-0.5a/ChangeLog
tags/control-0.5a/doc/Makefile
tags/control-0.5a/doc/README
tags/control-0.5a/doc/conf.py
tags/control-0.5a/doc/control.tex
tags/control-0.5a/doc/index.rst
tags/control-0.5a/doc/intro.rst
tags/control-0.5a/doc/matlab_strings.rst
tags/control-0.5a/examples/pvtol-lqr.py
tags/control-0.5a/examples/pvtol-nested-ss.py
tags/control-0.5a/examples/pvtol-nested.py
tags/control-0.5a/examples/secord-matlab.py
tags/control-0.5a/examples/test-response.py
tags/control-0.5a/setup.py
tags/control-0.5a/src/__init__.py
tags/control-0.5a/src/ctrlutil.py
tags/control-0.5a/src/delay.py
tags/control-0.5a/src/freqplot.py
tags/control-0.5a/src/mateqn.py
tags/control-0.5a/src/matlab.py
tags/control-0.5a/src/modelsimp.py
tags/control-0.5a/src/nichols.py
tags/control-0.5a/src/pzmap.py
tags/control-0.5a/src/rlocus.py
tags/control-0.5a/src/statefbk.py
tags/control-0.5a/src/statesp.py
tags/control-0.5a/src/timeresp.py
tags/control-0.5a/src/xferfcn.py
tags/control-0.5a/tests/convert_test.py
tags/control-0.5a/tests/matlab_test.py
tags/control-0.5a/tests/test_all.py
tags/control-0.5a/tests/timeresp_test.py
Deleted: tags/control-0.5a/ChangeLog
===================================================================
--- trunk/ChangeLog 2011-06-18 19:13:09 UTC (rev 161)
+++ tags/control-0.5a/ChangeLog 2011-08-07 15:21:38 UTC (rev 174)
@@ -1,366 +0,0 @@
-2011-06-18 Richard Murray <mu...@ma...>
-
- * src/timeresp.py, src/matlab.py: moved documentation about time
- series convention from matlab.py to timeresp.py
-
- * examples/pvtol-nested-ss.py: Fixed bug in call to step (wrong
- second argument)
-
- * tests/matlab_test.py: Updated tests to use MATLAB time response
- conventions.
-
- * tests/timeresp_test.py: Created unit tests for timeresp module,
- based on matlab_test.py
-
-2011-06-17 Richard Murray <mu...@ma...>
-
- * src/timeresp.py (ForcedResponse): swapped order of input and time
- arguments for linear response, following Eike's comment "T must
- always be supplied by the user, but U has a useful default value of
- 0."
-
- * src/matlab.py: moved code for lsim, initial, step, and impulse to
- timeresp.py and put in new routes that call timeresp.* versions of
- the functions with transposeData set to True.
-
- * src/timesim.py (_check_convert_array): added transpose argument
- that will transpose input data before processing it.
-
- * src/timesim.py: renamed lsim, initial, step, and impulse functions
- to ForcedResponse, InitialResponse, StepResponse and
- ImpulseResponse. These versions use Eike Welk's input ordering.
-
- * examples/pvtol-nested.py: calls to step() had screwed up inputs.
- Fixed.
-
-2011-06-17 Richard Murray <mu...@ma...>
-
- * src/matlab.py: added MIMO extensions from Eike Welk on 12 Jun
- 2011: adds MIMO capabilities for ``lsim``, ``step``, ``impulse``,
- ``initial``
-
- * src/matlab.py: added changes from Eike Welk on 12 May 2011:
-
- - An implementation of the four simulation functions ``lsim``,
- ``step``, ``initial``, and ``impulse`` of the module ``matlab``.
-
- - Adds a function ``dcgain`` to the ``matlab`` module, which
- computes the gain of a linear system for steady state and
- constant input.
-
- - The patch contains a bug fix for class ``StateSpace``, which
- enables it to work properly together with Scipy's ``signal``
- module.
-
- - The simulation functions' return values are changed (back?) to
- arrays, because matrices confuse Matplotlib.
-
- - New times series convention: see _time-series-convention section
- of matlab documentation
-
- - SISO simulation data are squeezed on output. To turn this off,
- pass the option squeeze=False
-
----- control-0.4c released -----
-
-2011-06-17 Richard Murray <mu...@dh...>
-
- * examples/tfvis.py: Added tfvis, Simple GUI application for
- visualizing how the poles/zeros of the transfer function effects the
- bode, nyquist and step response of a SISO system. Contributed by
- Vanessa Romero Segovia, Ola Johnsson, Jerker Nordh.
-
-2011-06-16 Richard Murray <mu...@ma...>
-
- * src/matlab.py: import mateqn functions
-
- * src/__init__.py: import mateqn functions
-
- * tests/test_all.py: added unit tests for matrix solvers, converting
- to standard format along the way. Seems to work even if slycot
- routines are not in place, but I'm not sure if this is for the right
- reasons...
-
- * src/mateqn.py: added matrix solvers from LTH (Ola Johnsson, Jerker
- Nordh, Bjorn Olofsson, Vanessa Romero). Moved slycot function
- checks to the portion of the code where they are used, so that
- missing slycot doesn't mess up initialization if proper version of
- slycot is not available.
-
-2011-04-02 Richard Murray <mu...@ma...>
-
- * src/xferfcn.py (TransferFunction.__add__): fixed bug when adding a
- transfer function to state space system; _convertToTransferFunction
- was being called with input/output keywords. Picked up in unit test.
-
- * tests/matlab_test.py: added calls to all of the functions that are
- currently implemented in the library, to make sure there are no
- hidden issues. These calls do *not* test functionality, they just
- make sure that MATLAB compatibility functions accept the right types
- of arguments.
-
- * examples/secord-matlab.py: added root locus plot to list of
- figures that are produced
-
- * src/__init__.py: added rlocus to list of modules that are imported
- by control module
-
- * src/exception.py (ControlMIMONotImplemented): added exception for
- functions that are not yet implemented for MIMO systems
-
- * src/xferfcn.py (TransferFunction.__init__): convert integer
- numerator and denominator objects to floats to eliminate errors when
- creating common denominator (also used on pole command). This fixes
- and error were tf([1], [1, 2, 1]).pole() would generate an error.
-
- * src/freqplot.py (bode): Tweaked documentation string to remove 'h'
- from mag and phase return arguments
-
- * src/rlocus.py (RootLocus): removed commands that set figure number
- inside of RootLocus command, for consistency with other frequency
- plot routines. Added Plot=True argument and updated documentation.
-
- * src/matlab.py: added rlocus() command (calls RootLocus)
-
- * MANIFEST.in: Added MANIFEST.in file to include examples and tests
- in source distribution
-
- * README: Updated to include information on how to run unit tests.
-
- * setup.py: updated version number to 0.4c
-
----- control-0.4b released -----
-
-2011-04-02 Richard Murray <mu...@ma...>
-
- * 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 <mu...@ma...>
-
- * 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 <mu...@ma...>
-
- * 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 <mu...@su...>
-
- * 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 <mu...@su...>
-
- * setup.py: updated version number to 0.4a
-
-2010-11-05 Richard Murray <mu...@su...>
-
- * 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 <mu...@su...>
-
- * 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 <mu...@su...>
-
- * src/statefbk.py (ctrb): new function for testing controllability
- * src/statefbk.py (obsv): new function for testing observabiilty
-
-2010-09-02 Richard Murray <mu...@su...>
-
- * src/statefbk.py (place): Use np.size() instead of len() for
- finding length of placed_eigs for better compatability 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 <mu...@su...>
-
- * 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 <mu...@su...>
-
- * 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 <mu...@su...>
-
- * 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 <mu...@ko...>
- * ./ 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:
Copied: tags/control-0.5a/ChangeLog (from rev 172, trunk/ChangeLog)
===================================================================
--- tags/control-0.5a/ChangeLog (rev 0)
+++ tags/control-0.5a/ChangeLog 2011-08-07 15:21:38 UTC (rev 174)
@@ -0,0 +1,541 @@
+---- control-0.5a released -----
+
+2011-08-07 Richard Murray <mu...@ma...>
+
+ * setup.py: updated version number; next release will be 0.5a since
+ the changes in function names and argument/return value order (for
+ time reponses) require small updates in code
+
+ * examples/secord-matlab.py, examples/pvtol-nested-ss.py,
+ examples/test-response.py, examples/pvtol-nested.py: fixed small bug
+ in order of output arguments for step command
+
+2011-08-06 Richard Murray <mu...@ma...>
+
+ * src/matlab.py (ngrid): copy documentation from nichols_grid
+
+ * src/__init__.py: changed import commands to import specific
+ functions rather than '*' (better modularity)
+
+ * src/freqplot.py: default function names are now bode_plot,
+ nyquist_plot and gangof4_plot (still with aliases to non-"_plot"
+ versions)
+
+ * src/nichols.py (nichols_plot): updated nichols to nichols_plot for
+ consistency with other python-control plotting functions. Set up
+ alias for original name
+
+ * src/margins.py: StabilityMargins, PhaseCrossoverFrequencies ->
+ stability_margins, phase_crossover_frequencies
+
+ * src/phaseplot.py: changed PhasePlot and boxgrid to phase_plot,
+ box_grid
+
+ * src/timeresp.py: changed ForcedReponse, InitialReponse,
+ ImpulseReponse and StepResponse to forced_response,
+ initial_response, impulse_response and step_response.
+
+ * src/rlocus.py: changed RootLocus to root_locus for better
+ compatability with PEP 8. Also updated unit tests and examples.
+
+2011-07-25 Richard Murray <mu...@ma...>
+
+ * tests/phaseplot_test.py: updated unit tests to use new call
+ signatures
+
+ * examples/phaseplots.py: updated calls to PhasePlot to use new
+ argument structure
+
+ * src/phaseplot.py (PhasePlot): Updated call signature to be
+ more pythonic and fixed up documentation.
+
+ * examples/genswitch.py (genswitch): added new example showing
+ PhasePlot functionality
+
+ * src/phaseplot.py (boxgrid): added function to compute initial
+ conditions around the edges of a box
+
+2011-07-24 Richard Murray <mu...@ma...>
+
+ * tests/margin_test.py: added simple unit tests for margin functions
+ (initial versions just call functions; some comparisons missing)
+
+ * examples/README: added missing README file
+
+ * examples/phaseplots.py: FBS examples for phaseplot
+
+ * tests/phaseplot_test.py: unit tests for phaseplot
+
+ * src/phaseplot.py: initial cut at phase portrait function, built
+ from amphaseplot (Feeback Systems [FBS], Astrom and Murray, 2008)
+
+2011-07-15 Richard Murray <mu...@ma...>
+
+ * tests/matlab_test.py (TestMatlab): added unittest for margin()
+ commands (calling format only)
+
+ * src/statesp.py (StateSpace): updated comments
+
+ * tests/margin_test.py: set up unit tests for StabilityMargins() and
+ PhaseCrossoverFrequencies()
+
+ * src/__init__.py: added margins.py to __init__
+
+2011-07-14 Richard Murray <mu...@ma...>
+
+ * src/margins.py (GainPhaseMargin): moved freqplot.MarginPlot to
+ margin.StabilityMargins (MarginPlot didn't actually plot anything)
+
+ * src/margins.py (PhaseCrossoverFrequencies): added new function to
+ compute frequencies that we cross real axis. Contributed by Steffen
+ Waldherr <wal...@is...>
+
+2011-07-11 Richard Murray <mu...@ma...>
+
+ * src/rlocus.py: added real() and imag() to list of functions
+ imported from numpy
+
+ * src/freqplot.py: renamed plotting functions to BodePlot,
+ NyquistPlot, GangOf4Plot and MarginPlot. Set up aliases to the more
+ common names (bode, nyquest, gangof4, margin). Mainly playing
+ around with idea for the eventual interface to use.
+
+ * tests/matlab_test.py: updated timeresp outputs to match MATLAB
+
+ * src/matlab.py (impulse, initial, lsim, step): switched outputs
+ from step, impulse, initial, lsim to match MATLAB standard
+
+2011-07-01 Richard Murray <mu...@ma...>
+
+ * src/rlocus.py: modified scipy import to only import those
+ functions that we actually use. This fixes a problem pointed out by
+ Carsten Knoll (TU Dresden) where control.place could be overwritten
+ by numpy.place (because of an "from scipy import *" in rlocus.py
+
+ * doc/intro.rst: Added link to scipy web page talking about the
+ differences between numpy and MATLAB (contributed by Shuo Han).
+
+2011-06-25 Richard Murray <mu...@ma...>
+
+ * src/xferfcn.py (TransferFunction._common_den): changed tolerance
+ for detecting complex valued poles to a user-settable parameter,
+ with default value 1e-8. This was an attempt to fix errors in the
+ convert_test.py unittest script (conversion routine was
+ misclassifying some poles as imaginary when they weren't).
+
+ * src/xferfcn.py (_convertToTransferFunction): converted arguments
+ to tb04ad to numpy arrays; fixes a unit test error in convert_test.py.
+
+ * src/statefbk.py (gram): convert system matrix passed to sb03md to
+ numpy array; this fixes a unit test error in modelsimp_test.py.
+
+ * src/matlab.py (impulse): got rid of X0 argument for impulse
+ response (not implemented in MATLAB).
+
+ * doc/intro.rst: added some quick start information
+
+ * src/matlab.py: added documentation for step, impulse, initial, lsim
+
+ * src/timeresp.py: fixed some MATLAB specific function names in
+ function doc strings
+
+2011-06-22 Richard Murray <mu...@ma...>
+
+ * doc/intro.rst: fixed some small types
+
+ * doc/control.tex: removed (no longer needed)
+
+2011-06-22 Richard Murray <mu...@ma...>
+
+ * doc/intro.rst: Added a slightly more general introduction, with a
+ pointer to the python-control wiki (on sf.net)
+
+ * doc/Makefile: Changed path to sphinx-build to assume it is in the
+ users path (as opposed to an explicit path)
+
+ * doc/conf.py: Added release information into documentation file
+
+2011-06-21 Richard Murray <mu...@ma...>
+
+ * src/statesp.py (_mimo2siso): Moved function from matlab.py.
+
+ * src/timeresp.py: added file documentation + split out and updated
+ copyright info. Small corrections to documentation.
+ (InitialResponse): Added missing transpose argument in call to
+ ForcedResponse
+
+ * src/matlab.py: minor changes to documentation to avoid line wraps
+ on standard (80 col) terminal window
+
+ * src/matlab.py: removed time-series convention documentation from
+ matlab.py since current MATLAB version uses standard conventions.
+ This documentation is currently in timeresp.py.
+
+ * src/*, doc/*: added Eike Welk's documentation modifications
+
+2011-06-18 Richard Murray <mu...@ma...>
+
+ * src/timeresp.py, src/matlab.py: moved documentation about time
+ series convention from matlab.py to timeresp.py
+
+ * examples/pvtol-nested-ss.py: Fixed bug in call to step (wrong
+ second argument)
+
+ * tests/matlab_test.py: Updated tests to use MATLAB time response
+ conventions.
+
+ * tests/timeresp_test.py: Created unit tests for timeresp module,
+ based on matlab_test.py
+
+2011-06-17 Richard Murray <mu...@ma...>
+
+ * src/timeresp.py (ForcedResponse): swapped order of input and time
+ arguments for linear response, following Eike's comment "T must
+ always be supplied by the user, but U has a useful default value of
+ 0."
+
+ * src/matlab.py: moved code for lsim, initial, step, and impulse to
+ timeresp.py and put in new routes that call timeresp.* versions of
+ the functions with transposeData set to True.
+
+ * src/timesim.py (_check_convert_array): added transpose argument
+ that will transpose input data before processing it.
+
+ * src/timesim.py: renamed lsim, initial, step, and impulse functions
+ to ForcedResponse, InitialResponse, StepResponse and
+ ImpulseResponse. These versions use Eike Welk's input ordering.
+
+ * examples/pvtol-nested.py: calls to step() had screwed up inputs.
+ Fixed.
+
+2011-06-17 Richard Murray <mu...@ma...>
+
+ * src/matlab.py: added MIMO extensions from Eike Welk on 12 Jun
+ 2011: adds MIMO capabilities for ``lsim``, ``step``, ``impulse``,
+ ``initial``
+
+ * src/matlab.py: added changes from Eike Welk on 12 May 2011:
+
+ - An implementation of the four simulation functions ``lsim``,
+ ``step``, ``initial``, and ``impulse`` of the module ``matlab``.
+
+ - Adds a function ``dcgain`` to the ``matlab`` module, which
+ computes the gain of a linear system for steady state and
+ constant input.
+
+ - The patch contains a bug fix for class ``StateSpace``, which
+ enables it to work properly together with Scipy's ``signal``
+ module.
+
+ - The simulation functions' return values are changed (back?) to
+ arrays, because matrices confuse Matplotlib.
+
+ - New times series convention: see _time-series-convention section
+ of matlab documentation
+
+ - SISO simulation data are squeezed on output. To turn this off,
+ pass the option squeeze=False
+
+---- control-0.4c released -----
+
+2011-06-17 Richard Murray <mu...@dh...>
+
+ * examples/tfvis.py: Added tfvis, Simple GUI application for
+ visualizing how the poles/zeros of the transfer function effects the
+ bode, nyquist and step response of a SISO system. Contributed by
+ Vanessa Romero Segovia, Ola Johnsson, Jerker Nordh.
+
+2011-06-16 Richard Murray <mu...@ma...>
+
+ * src/matlab.py: import mateqn functions
+
+ * src/__init__.py: import mateqn functions
+
+ * tests/test_all.py: added unit tests for matrix solvers, converting
+ to standard format along the way. Seems to work even if slycot
+ routines are not in place, but I'm not sure if this is for the right
+ reasons...
+
+ * src/mateqn.py: added matrix solvers from LTH (Ola Johnsson, Jerker
+ Nordh, Bjorn Olofsson, Vanessa Romero). Moved slycot function
+ checks to the portion of the code where they are used, so that
+ missing slycot doesn't mess up initialization if proper version of
+ slycot is not available.
+
+2011-04-02 Richard Murray <mu...@ma...>
+
+ * src/xferfcn.py (TransferFunction.__add__): fixed bug when adding a
+ transfer function to state space system; _convertToTransferFunction
+ was being called with input/output keywords. Picked up in unit test.
+
+ * tests/matlab_test.py: added calls to all of the functions that are
+ currently implemented in the library, to make sure there are no
+ hidden issues. These calls do *not* test functionality, they just
+ make sure that MATLAB compatibility functions accept the right types
+ of arguments.
+
+ * examples/secord-matlab.py: added root locus plot to list of
+ figures that are produced
+
+ * src/__init__.py: added rlocus to list of modules that are imported
+ by control module
+
+ * src/exception.py (ControlMIMONotImplemented): added exception for
+ functions that are not yet implemented for MIMO systems
+
+ * src/xferfcn.py (TransferFunction.__init__): convert integer
+ numerator and denominator objects to floats to eliminate errors when
+ creating common denominator (also used on pole command). This fixes
+ and error were tf([1], [1, 2, 1]).pole() would generate an error.
+
+ * src/freqplot.py (bode): Tweaked documentation string to remove 'h'
+ from mag and phase return arguments
+
+ * src/rlocus.py (RootLocus): removed commands that set figure number
+ inside of RootLocus command, for consistency with other frequency
+ plot routines. Added Plot=True argument and updated documentation.
+
+ * src/matlab.py: added rlocus() command (calls RootLocus)
+
+ * MANIFEST.in: Added MANIFEST.in file to include examples and tests
+ in source distribution
+
+ * README: Updated to include information on how to run unit tests.
+
+ * setup.py: updated version number to 0.4c
+
+---- control-0.4b released -----
+
+2011-04-02 Richard Murray <mu...@ma...>
+
+ * 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 <mu...@ma...>
+
+ * 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 <mu...@ma...>
+
+ * 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 <mu...@su...>
+
+ * 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 <mu...@su...>
+
+ * setup.py: updated version number to 0.4a
+
+2010-11-05 Richard Murray <mu...@su...>
+
+ * 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 <mu...@su...>
+
+ * 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 <mu...@su...>
+
+ * src/statefbk.py (ctrb): new function for testing controllability
+ * src/statefbk.py (obsv): new function for testing observabiilty
+
+2010-09-02 Richard Murray <mu...@su...>
+
+ * src/statefbk.py (place): Use np.size() instead of len() for
+ finding length of placed_eigs for better compatability 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 <mu...@su...>
+
+ * 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 <mu...@su...>
+
+ * 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 <mu...@su...>
+
+ * 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 <mu...@ko...>
+ * ./ 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:
Deleted: tags/control-0.5a/doc/Makefile
===================================================================
--- trunk/doc/Makefile 2011-06-18 19:13:09 UTC (rev 161)
+++ tags/control-0.5a/doc/Makefile 2011-08-07 15:21:38 UTC (rev 174)
@@ -1,130 +0,0 @@
-# Makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS =
-SPHINXBUILD = /Applications/Sphinx-1.0.6/sphinx-build.py
-PAPER =
-BUILDDIR = _build
-
-# Internal variables.
-PAPEROPT_a4 = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-
-.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
-
-help:
- @echo "Please use \`make <target>' where <target> is one of"
- @echo " html to make standalone HTML files"
- @echo " dirhtml to make HTML files named index.html in directories"
- @echo " singlehtml to make a single large HTML file"
- @echo " pickle to make pickle files"
- @echo " json to make JSON files"
- @echo " htmlhelp to make HTML files and a HTML help project"
- @echo " qthelp to make HTML files and a qthelp project"
- @echo " devhelp to make HTML files and a Devhelp project"
- @echo " epub to make an epub"
- @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
- @echo " latexpdf to make LaTeX files and run them through pdflatex"
- @echo " text to make text files"
- @echo " man to make manual pages"
- @echo " changes to make an overview of all changed/added/deprecated items"
- @echo " linkcheck to check all external links for integrity"
- @echo " doctest to run all doctests embedded in the documentation (if enabled)"
-
-clean:
- -rm -rf $(BUILDDIR)/*
-
-html:
- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
- @echo
- @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
-
-dirhtml:
- $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
- @echo
- @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
-
-singlehtml:
- $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
- @echo
- @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
-
-pickle:
- $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
- @echo
- @echo "Build finished; now you can process the pickle files."
-
-json:
- $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
- @echo
- @echo "Build finished; now you can process the JSON files."
-
-htmlhelp:
- $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
- @echo
- @echo "Build finished; now you can run HTML Help Workshop with the" \
- ".hhp project file in $(BUILDDIR)/htmlhelp."
-
-qthelp:
- $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
- @echo
- @echo "Build finished; now you can run "qcollectiongenerator" with the" \
- ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
- @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PythonControl.qhcp"
- @echo "To view the help file:"
- @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PythonControl.qhc"
-
-devhelp:
- $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
- @echo
- @echo "Build finished."
- @echo "To view the help file:"
- @echo "# mkdir -p $$HOME/.local/share/devhelp/PythonControl"
- @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PythonControl"
- @echo "# devhelp"
-
-epub:
- $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
- @echo
- @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
-
-latex:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
- @echo
- @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
- @echo "Run \`make' in that directory to run these through (pdf)latex" \
- "(use \`make latexpdf' here to do that automatically)."
-
-latexpdf:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
- @echo "Running LaTeX files through pdflatex..."
- make -C $(BUILDDIR)/latex all-pdf
- @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-
-text:
- $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
- @echo
- @echo "Build finished. The text files are in $(BUILDDIR)/text."
-
-man:
- $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
- @echo
- @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
-
-changes:
- $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
- @echo
- @echo "The overview file is in $(BUILDDIR)/changes."
-
-linkcheck:
- $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
- @echo
- @echo "Link check complete; look for any errors in the above output " \
- "or in $(BUILDDIR)/linkcheck/output.txt."
-
-doctest:
- $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
- @echo "Testing of doctests in the sources finished, look at the " \
- "results in $(BUILDDIR)/doctest/output.txt."
Copied: tags/control-0.5a/doc/Makefile (from rev 163, trunk/doc/Makefile)
===================================================================
--- tags/control-0.5a/doc/Makefile (rev 0)
+++ tags/control-0.5a/doc/Makefile 2011-08-07 15:21:38 UTC (rev 174)
@@ -0,0 +1,130 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = _build
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ -rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PythonControl.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PythonControl.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/PythonControl"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PythonControl"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ make -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
Deleted: tags/control-0.5a/doc/README
===================================================================
--- trunk/doc/README 2011-06-18 19:13:09 UTC (rev 161)
+++ tags/control-0.5a/doc/README 2011-08-07 15:21:38 UTC (rev 174)
@@ -1,15 +0,0 @@
-Sphinx Documentation
---------------------
-
-Note: Sphinx actually runs and imports python code, so broken code, or code not in conf.py sys.path, cannot be documented!
-
-1. Get Sphinx [http://sphinx.pocoo.org/]
- [python setup.py build/install]
-
-2. Install numpydoc [http://pypi.python.org/pypi/numpydoc]
-
-3. In Makefile point to your own copy of sphinx-build, e.g.
- [SPHINXBUILD = /Users/steve/CODES/Sphinx-1.0.6/sphinx-build.py]
-
-4. >> touch *.rst
- >> make html [or make latex]
Copied: tags/control-0.5a/doc/README (from rev 164, trunk/doc/README)
===================================================================
--- tags/control-0.5a/doc/README (rev 0)
+++ tags/control-0.5a/doc/README 2011-08-07 15:21:38 UTC (rev 174)
@@ -0,0 +1,20 @@
+Sphinx Documentation
+--------------------
+
+Note: Sphinx actually runs and imports python code, so broken code, or code not in conf.py sys.path, cannot be documented!
+
+1. Get Sphinx [http://sphinx.pocoo.org/]
+ [python setup.py build/install]
+
+2. Install numpydoc [http://pypi.python.org/pypi/numpydoc]
+
+3. In Makefile point to your own copy of sphinx-build, e.g.
+ [SPHINXBUILD = /Users/steve/CODES/Sphinx-1.0.6/sphinx-build.py]
+
+4. >> touch *.rst
+ >> make html [or make latex]
+
+Creating/updating manual on sourceforge:
+
+5. >> rsync -rav _build/html/ us...@sh...:/home/project-web/python-control/htdocs/manual-N.mx/
+
Deleted: tags/control-0.5a/doc/conf.py
===================================================================
--- trunk/doc/conf.py 2011-06-18 19:13:09 UTC (rev 161)
+++ tags/control-0.5a/doc/conf.py 2011-08-07 15:21:38 UTC (rev 174)
@@ -1,222 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Python Control documentation build configuration file, created by
-# sphinx-quickstart on Tue Jan 11 16:11:31 2011.
-#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-import sys, os
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-sys.path.insert(0, os.path.abspath('.'))
-sys.path.append(os.path.abspath('../src'))
-
-# -- General configuration -----------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'numpydoc', 'sphinx.ext.pngmath',
- 'sphinx.ext.intersphinx']
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8-sig'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'Python Control'
-copyright = u'2011, Richard M. Murray et al.'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '0.0'
-# The full version, including alpha/beta/rc tags.
-release = '0.0'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-#This config value contains the locations and names of other projects that
-#should be linked to in this documentation.
-intersphinx_mapping = {'scipy':('http://docs.scipy.org/doc/scipy/reference/', None)}
-
-
-# -- Options for HTML output ---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. See the documentation for
-# a list of builtin themes.
-html_theme = 'default'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'PythonControldoc'
-
-
-# -- Options for LaTeX output --------------------------------------------------
-
-# The paper size ('letter' or 'a4').
-#latex_paper_size = 'letter'
-
-# The font size ('10pt', '11pt' or '12pt').
-#latex_font_size = '10pt'
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass [howto/manual]).
-latex_documents = [
- ('index', 'PythonControl.tex', u'Python Control Documentation',
- u'Python Control Developers', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_domain_indices = True
-
-
-# -- Options for manual page output --------------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
- ('index', 'pythoncontrol', u'Python Control Documentation',
- [u'Python Control Developers'], 1)
-]
Copied: tags/control-0.5a/doc/conf.py (from rev 163, trunk/doc/conf.py)
===================================================================
--- tags/control-0.5a/doc/conf.py (rev 0)
+++ tags/control-0.5a/doc/conf.py 2011-08-07 15:21:38 UTC (rev 174)
@@ -0,0 +1,235 @@
+# -*- coding: utf-8 -*-
+#
+# Python Control documentation build configuration file, created by
+# sphinx-quickstart on Tue Jan 11 16:11:31 2011.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+sys.path.insert(0, os.path.abspath('.'))
+sys.path.append(os.path.abspath('../src'))
+
+
+# -- General configuration -----------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+# Additional interesting extensions:
+# ``sphinx.ext.autosummary`` : Generate function/method/attribute summary
+# lists
+# ``sphinx.ext.extlinks`` : Shorten external links
+# ``sphinx.ext.viewcode`` : Include highlighted source code in the
+# documentation
+extensions = ['sphinx.ext.autodoc', 'numpydoc', 'sphinx.ext.pngmath',
+ 'sphinx.ext.intersphinx', 'sphinx.ext.todo']
+
+# Add any paths that contain templates here, relative to this directory.
+templ...
[truncated message content] |