Merge branch 'python-control:main' into main · python-control/python-control@aca68b9

119 files changed

lines changed

Original file line numberDiff line numberDiff line change

@@ -33,7 +33,6 @@ jobs:

3333

- name: Run doctest

3434

shell: bash -l {0}

3535

env:

36-

PYTHON_CONTROL_ARRAY_AND_MATRIX: ${{ matrix.array-and-matrix }}

3736

MPLBACKEND: ${{ matrix.mplbackend }}

3837

working-directory: doc

3938

run: |

Original file line numberDiff line numberDiff line change

@@ -18,7 +18,7 @@ jobs:

1818

--channel conda-forge \

1919

--strict-channel-priority \

2020

--quiet --yes \

21-

pip setuptools setuptools-scm \

21+

python=3.11 pip \

2222

numpy matplotlib scipy \

2323

slycot pmw jupyter

2424
Original file line numberDiff line numberDiff line change

@@ -9,7 +9,6 @@ jobs:

99

${{ matrix.slycot || 'no' }} Slycot;

1010

${{ matrix.pandas || 'no' }} Pandas;

1111

${{ matrix.cvxopt || 'no' }} CVXOPT

12-

${{ matrix.array-and-matrix == 1 && '; array and matrix' || '' }}

1312

${{ matrix.mplbackend && format('; {0}', matrix.mplbackend) }}

1413

runs-on: ubuntu-latest

1514

@@ -22,14 +21,12 @@ jobs:

2221

pandas: [""]

2322

cvxopt: ["", "conda"]

2423

mplbackend: [""]

25-

array-and-matrix: [0]

2624

include:

2725

- python-version: '3.11'

2826

slycot: conda

2927

pandas: conda

3028

cvxopt: conda

3129

mplbackend: QtAgg

32-

array-and-matrix: 1

3330
3431

steps:

3532

- uses: actions/checkout@v3

@@ -63,7 +60,6 @@ jobs:

6360

- name: Test with pytest

6461

shell: bash -l {0}

6562

env:

66-

PYTHON_CONTROL_ARRAY_AND_MATRIX: ${{ matrix.array-and-matrix }}

6763

MPLBACKEND: ${{ matrix.mplbackend }}

6864

run: pytest -v --cov=control --cov-config=.coveragerc control/tests

6965
Original file line numberDiff line numberDiff line change

@@ -1,4 +1,5 @@

11

Copyright (c) 2009-2016 by California Institute of Technology

2+

Copyright (c) 2016-2023 by python-control developers

23

All rights reserved.

34
45

Redistribution and use in source and binary forms, with or without

Original file line numberDiff line numberDiff line change

@@ -54,41 +54,52 @@

5454
5555

Available subpackages

5656

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

57-

flatsys

58-

Differentially flat systems

59-

optimal

60-

Optimization-based control

57+
58+

The main control package includes the most common functions used in

59+

analysis, design, and simulation of feedback control systems. Several

60+

additional subpackages are available that provide more specialized

61+

functionality:

62+
63+

* :mod:`~control.flatsys`: Differentially flat systems

64+

* :mod:`~control.matlab`: MATLAB compatibility module

65+

* :mod:`~control.optimal`: Optimization-based control

6166
6267

"""

6368
6469

# Import functions from within the control system library

6570

# Note: the functions we use are specified as __all__ variables in the modules

71+
72+

# Input/output system modules

73+

from .iosys import *

74+

from .nlsys import *

75+

from .lti import *

76+

from .statesp import *

77+

from .xferfcn import *

78+

from .frdata import *

79+
80+

# Time responses and plotting

81+

from .timeresp import *

82+

from .timeplot import *

83+
6684

from .bdalg import *

6785

from .delay import *

6886

from .descfcn import *

6987

from .dtime import *

7088

from .freqplot import *

71-

from .lti import *

7289

from .margins import *

7390

from .mateqn import *

7491

from .modelsimp import *

75-

from .namedio import *

7692

from .nichols import *

7793

from .phaseplot import *

7894

from .pzmap import *

7995

from .rlocus import *

8096

from .statefbk import *

81-

from .statesp import *

8297

from .stochsys import *

83-

from .timeresp import *

84-

from .xferfcn import *

8598

from .ctrlutil import *

86-

from .frdata import *

8799

from .canonical import *

88100

from .robust import *

89101

from .config import *

90102

from .sisotool import *

91-

from .iosys import *

92103

from .passivity import *

93104
94105

# Exceptions