control.linearize

control.linearize(sys, xeq, ueq=None, t=0, params=None, **kw)[source]

Linearize an input/output system at a given state and input.

Compute the linearization of an I/O system at an operating point (state and input) and returns a StateSpace object. The operating point need not be an equilibrium point.

Parameters
sysInputOutputSystem

The system to be linearized.

xeqarray or OperatingPoint

The state or operating point at which the linearization will be evaluated (does not need to be an equilibrium state).

ueqarray, optional

The input at which the linearization will be evaluated (does not need to correspond to an equilibrium state). Can be omitted if xeq is an OperatingPoint. Defaults to 0.

tfloat, optional

The time at which the linearization will be computed (for time-varying systems).

paramsdict, optional

Parameter values for the systems. Passed to the evaluation functions for the system as default values, overriding internal defaults.

namestring, optional

Set the name of the linearized system. If not specified and if copy_names is False, a generic name ‘sys[id]’ is generated with a unique integer id. If copy_names is True, the new system name is determined by adding the prefix and suffix strings in config.defaults['iosys.linearized_system_name_prefix'] and config.defaults['iosys.linearized_system_name_suffix'], with the default being to add the suffix ‘$linearized’.

copy_namesbool, Optional

If True, Copy the names of the input signals, output signals, and states to the linearized system.

Returns
ss_sysStateSpace

The linearization of the system, as a StateSpace object.

Other Parameters
inputsint, list of str or None, optional

Description of the system inputs. If not specified, the original system inputs are used. See InputOutputSystem for more information.

outputsint, list of str or None, optional

Description of the system outputs. Same format as inputs.

statesint, list of str, or None, optional

Description of the system states. Same format as inputs.