760cfae976
* This release includes numerous bug fixes and improvements, with major changes such as a substantial reorganization of the documentation into a User Guide and Reference Manual, more consistent and complete docstrings, and support for referencing signals and subsystems by name as well as by index. Phase plane plots now use matplotlib’s streamplot for better visuals. New functions include combine_tf and split_tf for MIMO/SISO conversion and disk_margins for stability analysis. Additional improvements include consistent keyword usage, expanded LTI system methods for plotting and responses, better error messages, and legacy aliases to maintain backward compatibility. * This version of python-control requires Python 3.10 or higher, NumPy 1.23 or higher (2.x recommended), and SciPy 1.8 or higher.
Benjamin Greiner2025-07-23 10:11:10 +00:00
c2498311a0
- Update to 0.10.2 * This release includes numerous bug fixes and improvements, with major changes such as a substantial reorganization of the documentation into a User Guide and Reference Manual, more consistent and complete docstrings, and support for referencing signals and subsystems by name as well as by index. Phase plane plots now use matplotlib’s streamplot for better visuals. New functions include combine_tf and split_tf for MIMO/SISO conversion and disk_margins for stability analysis. Additional improvements include consistent keyword usage, expanded LTI system methods for plotting and responses, better error messages, and legacy aliases to maintain backward compatibility. * This version of python-control requires Python 3.10 or higher, NumPy 1.23 or higher (2.x recommended), and SciPy 1.8 or higher. ## New classes, functions, and methods * find_operating_point: this function replaces (with a legacy alias) the find_eqpt function and now returns an OperatingPoint object containing the information about the operating point. * combine_tf and split_tf: these two new functions allow you to create an MIMO transfer function from SISO transfer functions and vice versa. * create_statefbk_iosystem now allows the creation of state feedback controllers using a “reference gain” pattern (u = k_\text{f}\, r - K x) in addition to the default “trajectory generation” pattern (u = u_\text{d} - K(x - x_\text{d})). * disk_margins: compute disk-based stability margins for SISO and MIMO systems. * model_reduction: allow specific states, inputs, or outputs to be either eliminated or retained. * place_acker: renamed version of acker (which is still accessible via an alias). ## Bug fixes * phase_plane_plot: fixed a bug in which the return value was returning a sublist of lines rather than just a list of lines in cplt.lines. * Processing of the timebase parameter (dt) for I/O systems is now handled uniformly across all I/O system factory functions. This affected the zpk function, which was defaulting to a discrete time system to have timebase None instead of 0. * Multiplying (*), adding (+), or subtracting (-) a constant
Benjamin Greiner2025-07-23 10:03:23 +00:00
89e0cca9c4
Accepting request 1204540 from devel:languages:python:numeric
Ana Guerrero2024-09-30 13:38:56 +00:00
13b5af9231
- Update to 0.10.1 * Fix docstring for root_locus_map by @bnavigator in #988 * Update documentation, processing of root_locus kvect keyword by @murrayrm in #989 * Fix typo in ICSystem updfcn, outfcn: update_params -> _update_params by @murrayrm in #990 * Support NumPy 2 by @bnavigator in #994 * Set response I/O labels from system for frequency response by @murrayrm in #1000 * Change klist to gains kwarg for matlab.wrappers.rlocus by @gdmcbain in #999 * Fix typo in xferfcn.py by @ansrandrieu in #1005 * Add place_varga in API doc by @pierre-haessig in #1004 * Process legacy rlocus keyword k->gains by @gdmcbain in #1003 * Fix numpydoc for place_varga by @bnavigator in #1007 * Improve acker pole placement doc by @pierre-haessig in #1006 * Fix nyquist plotting from FrequencyResponseData by @wueestry in #996 * Better I/O systems support for phase plots by @murrayrm in #1001 * Updates for NumPy 2.0 compatibility in CI tests by @murrayrm in #1013 * Add slicing access for state-space models with tests by @guptavaibhav0 in #1012 * Frequency plot improvements by @murrayrm in #1011 * Add extra information to nyquist plots by @wueestry in #997 * Fix bug in root_locus_plot identified by @NikolaiVChr in issue #1016 by @murrayrm in #1021 * Fix parallel input or output interconnect bug (issue #1015) by @murrayrm in #1017Benjamin Greiner2024-08-28 15:32:01 +00:00
26d729e284
- update to modern python on sle15 * Small docstring fixes for release by @murrayrm in #832 - Update to version 0.9.1 - Update to version 0.8.4 * Improved default time vector for time response * New use_legacy_defaults function to allow compatibility * Allow creation of non-proper transfer functions (bnavigator, rlegnain) * Added ability to set arrow head length and width option * Added ability to 'prewarp' the conversion of continuous to * Added rlocus capability for discrete-time systems * Updated pzmap grid to be compatible with matplotlib updates * Implement loadable string representation (repr) for tf, ss, * Fixed margin computation for discrete time systems * Fixed InterconnectedSystem naming bugs, improved * Fixed LinearIOSystem output bug in output function * Fixed bug in forced_response that overrode squeeze * Use rad/sec for Bode plot in MATLAB bode (was erroneously * Removed deprecated scipy calls and updated to latest numpy * Updated unit tests + switch to pytest (bnavigator, * Return type for eigenvalues in lqe changed to 1D array - Skip a test family on Leap because of segfaults in numpy - moved Pillow requirement to matplotlib package - add pr430-numpy119delete.patch to fix test failures with new numpy - remove ppc workaround and matrix type during tests gh#python-control/python-control#423 - skip mixsyn test on PowerPC boo#1172555 duplicated array test - remove python-devel from BuildRequires - add slycot to BuildRequires for tests
Dirk Mueller2024-08-14 15:14:05 +00:00
c9f6be1518
Accepting request 1170664 from devel:languages:python:numeric
Ana Guerrero2024-04-29 15:58:31 +00:00
466df79c4c
- Update to 0.9.4 * Sisotool: Fix Matplotlib deprecation of axis share handling by @bnavigator in #834 * Fix Interconnect name clobbering by @henklaak in #857 * Solve #862 and #864: bode_plot phase wrapping incorrect for multiple systems by @henklaak in #863 * Fix root_locus() handling of ax parameter by @henklaak in #871 * Small fixes based on Caltech CDS 112 course by @murrayrm in #849 * Feature print zpk by @henklaak in #869 * Feature enable doctest by @henklaak in #868 * Optimization-based and moving horizon estimation by @murrayrm in #877 * new examples for Simulink-like interconnection of digital and nonlinear systems by @sawyerbfuller in #882 * fix blank bode plot in rootlocus_pid_designer by @sawyerbfuller in #883 * bandwidth feature by @SCLiao47 in #889 * update nyquist_plot for DT transfer functions with poles at 0 and 1 by @sawyerbfuller in #885 * Add missing labels when returning TimeResponseData by @joaoantoniocardoso in #892 * fix damp command natural frequency printout for discrete poles on real axis by @sawyerbfuller in #894 * Add H2 and Hinf synthesis examples by @jrforbes in #895 * warn if prewarp-frequency is not used by @sawyerbfuller in #900 * make _convert_to_statespace properly pass signal and system names by @sawyerbfuller in #884 * Change name of converted LinearIOSystems by @murrayrm in #903 * add/cleanup documentation on simulation functions by @murrayrm
Benjamin Greiner2023-06-11 15:08:17 +00:00
804472618e
Accepting request 943353 from home:bnavigator:branches:devel:languages:python:numeric
Benjamin Greiner2021-12-31 19:34:24 +00:00
9f10ba8924
- Update to version 0.9.1 * Version 0.9.1 is a minor release that includes new functionality for discrete time systems (dlqr, dlqe, drss), flat systems (optimization and constraints), a new time response data class, and many individual improvements and bug fixes. **New features:** * Add optimization to flat systems trajectory generation (#569 by murrayrm) * Return a discrete time system with drss() (#589 by bnavigator) * A first implementation of the singular value plot (#593 by forgi86) * Include InfValue into settling min/max calculation for step_info (#600 by bnavigator) * New time response data class (#649 by murrayrm) * Check for unused subsystem signals in InterconnectedSystem (#652 by roryyorke) * New PID design function built on sisotool (#662 by sawyerbfuller) * Modify discrete-time contour for Nyquist plots to indent around poles (#668 by sawyerbfuller) * Additional I/O system type conversions (#672 by murrayrm) * Remove Python 2.7 support and leverage @ operator (#679 by bnavigator) * Discrete time LQR and LQE (#670 by sawyerbfuller, murrayrm) **Improvements, bug fixes:** * Change step_info undershoot percentage calculation (#590 by juanodecc) * IPython LaTeX output only generated for small systems (#607 by roryyorke)
Benjamin Greiner2021-12-31 18:29:50 +00:00
7762549742
- Update to version 0.9.0 * Version 0.9.0 of the Python Control Toolbox (python-control) contains a number of enhanced features and changes to functions. Some of these changes may require modifications to existing user code and, in addition, some default settings have changed that may affect the appearance of plots or operation of certain functions. * Significant new additions including improvements in the I/O systems modules that allow automatic interconnection of signals having the same name (via the interconnect function), generation and plotting of describing functions for closed loop systems with static nonlinearities, and a new optimal control module that allows basic computation of optimal controls (including model predictive controllers). Some of the changes that may break use code include the deprecation of the NumPy matrix type (2D NumPy arrays are used instead), changes in the return value for Nyquist plots (now returns number of encirclements rather than the frequency response), switching the default timebase of systems to be 0 rather than None (no timebase), and changes in the processing of return values for time and frequency responses (to make them more consistent). In many cases, the earlier behavior can be restored by calling use_legacy_defaults('0.8.4'). New Features: * Optimal control module, including rudimentary MPC control (#549 by murrayrm) * Describing functions plots (#521 by murrayrm) * MIMO impulse and step response (#514 by murrayrm)
Benjamin Greiner2021-03-21 10:23:31 +00:00