control.linearize

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

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 eavaluation 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 equlibrium 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.

  • copy (bool, Optional) – If copy is True, copy the names of the input signals, output signals, and states to the linearized system. If name is not specified, the system name is set to the input system name with the string ‘_linearized’ appended.

  • name (string, optional) – Set the name of the linearized system. If not specified and if copy is False, a generic name <sys[id]> is generated with a unique integer id. If copy 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’.

Returns

ss_sys – The linearization of the system, as a LinearIOSystem object (which is also a StateSpace object.

Return type

LinearIOSystem