Nonlinear Control Systems

Nonlinear models naturally occur in most areas of engineering (mechanical, electrical, chemical, …) and are traditionally dealt with by linear approximations. However, by using the nonlinear model, better controllers can be designed that take into account the nonlinear behavior. 
The Wolfram Language provides full support for affine and general nonlinear models. For affine models, you can automatically find a transformation that makes the system linear, allowing for the full suite of linear analysis and design functionality to be used. For general nonlinear models, automatic approximation schemes allow one to reduce to linear or affine systems or directly design a full information regulator.

Modeling & Simulation

(RefLink[AffineStateSpaceModel, paclet:ref/AffineStateSpaceModel]) — affine model x'==a(x)+b(x) u and y==c(x)+d(x)u

(RefLink[NonlinearStateSpaceModel, paclet:ref/NonlinearStateSpaceModel]) — nonlinear model x'==f(x,u) and y==g(x,u)

Design by Approximate Linearization

(RefLink[StateSpaceModel, paclet:ref/StateSpaceModel]) — Taylor linearize a model to a (RefLink[StateSpaceModel, paclet:ref/StateSpaceModel])

(RefLink[CarlemanLinearize, paclet:ref/CarlemanLinearize]) — Carleman bilinearize a model to an (RefLink[AffineStateSpaceModel, paclet:ref/AffineStateSpaceModel])

Design by Exact Linearization

(RefLink[FeedbackLinearize, paclet:ref/FeedbackLinearize]) — linearization through nonlinear feedback and state transformation

(RefLink[StateTransformationLinearize, paclet:ref/StateTransformationLinearize]) — linearization through state transformation

(RefLink[StateSpaceTransform, paclet:ref/StateSpaceTransform]) — change of variables for state space models

Nonlinear Design

(RefLink[FullInformationOutputRegulator, paclet:ref/FullInformationOutputRegulator]) — regulate output with full information state feedback

(RefLink[AsymptoticOutputTracker, paclet:ref/AsymptoticOutputTracker]) — tracker with state feedback

Nonlinear Analysis

(RefLink[SystemsModelVectorRelativeOrders, paclet:ref/SystemsModelVectorRelativeOrders]) — vector relative orders for affine models