Skip to content

base

Functions:

Name Description
build_polynomial

Build a polynomial transfer function.

build_tf_G

Construct numerator, denominator, numerator_h, denominator_h from parameters.

build_tf_H

Construct numerator, denominator, numerator_h, denominator_h from parameters.

build_tfs

Construct numerator, denominator, numerator_h, denominator_h from parameters.

rescale

Rescaling an array to its standard deviation.

build_polynomial

build_polynomial(
    order: int, coeffs: ndarray
) -> TransferFunction

Build a polynomial transfer function. This function constructs a transfer function of the form: H(s) = (s^order + 0s^(order-1) + ... + 0s + 1) / (s^order + coeffs[0]*s^(order-1) + ... + coeffs[order-1])

Parameters:

Name Type Description Default

order

int

The order of the polynomial.

required

coeffs

ndarray

The coefficients of the polynomial.

required

Returns:

Type Description
TransferFunction

cnt.TransferFunction: The resulting transfer function.

Raises:

Type Description
RuntimeError

If the transfer function could not be obtained.

Examples:

>>> import numpy as np
>>> import control as cnt
>>> coeffs = np.array([1, 2, 3])
>>> tf = build_polynomial(3, coeffs)
>>> tf
TransferFunction(array([1, 0, 0, 0]), array([1, 1, 2, 3]), 1)

build_tf_G

build_tf_G(
    THETA: ndarray,
    na: int,
    nb: ndarray,
    nc: int,
    nd: int,
    nf: int,
    theta: ndarray,
    id_method: str,
    udim: int,
    y_std: float = 1.0,
    U_std: ndarray = array([1.0]),
) -> tuple[ndarray, ndarray]

Construct numerator, denominator, numerator_h, denominator_h from parameters.

build_tf_H

build_tf_H(
    THETA: ndarray,
    na: int,
    nb: ndarray,
    nc: int,
    nd: int,
    _: int,
    __: ndarray,
    id_method: str,
    ___: int,
) -> tuple[ndarray, ndarray]

Construct numerator, denominator, numerator_h, denominator_h from parameters.

build_tfs

build_tfs(
    THETA: ndarray,
    na: int,
    nb: ndarray,
    nc: int,
    nd: int,
    nf: int,
    theta: ndarray,
    id_method: str,
    udim: int,
    y_std: float = 1.0,
    U_std: ndarray = array([1.0]),
) -> tuple[ndarray, ndarray, ndarray, ndarray]

Construct numerator, denominator, numerator_h, denominator_h from parameters.

rescale

rescale(y: ndarray) -> tuple[float, ndarray]

Rescaling an array to its standard deviation.

It gives the array rescaled as \( y=\frac{y}{\mathrm{std}(y)} \).