https://github.com/tomlxxvi/python-control
A(nother) Python Package about Control Theory
https://github.com/tomlxxvi/python-control
differential-equation electrical-systems frequency-response-design impedance laplace-transform mechanical-systems mesh-analysis modeling root-locus-design routh-hurwitz signal-flow-graph state-space-design state-space-representation transfer-function
Last synced: 8 months ago
JSON representation
A(nother) Python Package about Control Theory
- Host: GitHub
- URL: https://github.com/tomlxxvi/python-control
- Owner: TomLXXVI
- License: mit
- Created: 2024-12-02T20:03:47.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-06T07:43:35.000Z (over 1 year ago)
- Last Synced: 2025-06-02T08:44:58.507Z (11 months ago)
- Topics: differential-equation, electrical-systems, frequency-response-design, impedance, laplace-transform, mechanical-systems, mesh-analysis, modeling, root-locus-design, routh-hurwitz, signal-flow-graph, state-space-design, state-space-representation, transfer-function
- Language: Python
- Homepage:
- Size: 5.88 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# A(nother) Python package about Control Theory.
This package is inspired by the book **Control Systems Engineering**, Eight
Edition (EMEA Edition) written by **Norman S. Nise**.
The package is mainly built upon [Sympy](https://www.sympy.org/en/index.html)
and [Python Control Systems Library](https://github.com/python-control/python-control).
But some other fundamental third-party packages are also used in this package.
All third-party packages that put this package together, are listed in the
`requirements.txt` and `pyproject.toml` files.
The package is composed of three main subpackages.
- Subpackage `core` defines the core functions and classes for control
engineering, like `TransferFunction`, `StateSpace`, `SignalFlowGraph`,
`FeedbackSystem`, `RootLocus`, `FrequencyResponse`,...
- Subpackage `design` contains the functions to design the compensator or
controller of feedback systems using root-locus, frequency-response, or
state-space design techniques.
- Subpackage `modeling` contains classes for modeling electrical circuits,
translational and rotational mechanical systems, and thermal systems.
In the `docs` folder, examples (Jupyter notebooks and Python scripts) are
included that demonstrate the usage of the package. The notebooks and scripts in
the folder `book_examples` solve (almost all of) the examples in the above
mentioned book (however, the images in the examples of the book haven't been
included to the repository). The file names of the Jupyter notebooks and scripts
refer to the number of the chapters in the book. By going through these examples
and with the aid of the docstrings in the source code, one should be able to
explore the capabilities of the package quite easily.
At this stage, the package is limited to single-input-single-output (SISO) and
linear time-invariant (LTI) systems. However, this package is still under
construction.