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.

This function computes the linearization of an input/output system at a given state and input value and returns a StateSpace object. The evaluation point need not be an equilibrium point.

Parameters
  • sys (InputOutputSystem) – The system to be linearized

  • xeq (array) – The state at which the linearization will be evaluated (does not need to be an equilibrium state).

  • ueq (array) – The input at which the linearization will be evaluated (does not need to correspond to an equlibrium state).

  • t (float, optional) – The time at which the linearization will be computed (for time-varying systems).

  • params (dict, optional) – Parameter values for the systems. Passed to the evaluation functions for the system as default values, overriding internal defaults.

  • name (string, 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_names (bool, Optional) – If True, Copy the names of the input signals, output signals, and states to the linearized system.

  • inputs (int, list of str or None, optional) – Description of the system inputs. If not specified, the origional system inputs are used. See InputOutputSystem for more information.

  • outputs (int, list of str or None, optional) – Description of the system outputs. Same format as inputs.

  • states (int, list of str, or None, optional) – Description of the system states. Same format as inputs.

Returns

ss_sys – The linearization of the system, as a StateSpace object.

Return type

StateSpace