DynamicSystems - Maple Programming Help

Home : Support : Online Help : Science and Engineering : Dynamic Systems : Linearization : DynamicSystems/EquilibriumPoint

DynamicSystems

 EquilibriumPoint
 find the local equilibrium point of system satisfying constraints

 Calling Sequence EquilibriumPoint(eqs, u, opts)

Parameters

 eqs - equation, expression, or set or list of equations or expressions. If you specify an expression expr, it is interpreted as the equation $\mathrm{expr}=0$ u - list or set; input variables opts - (optional) equation(s) of the form option = value; specify options for the EquilibriumPoint command

Options

 • constraints = list or set of equations and inequalities

The constraints imposed on the states, derivatives of the states, inputs, or outputs of the system that must be satisfied at the equilibrium point.

 • evaluationlimit = posint

Sets the maximum number of objective function evaluations.  The default is 100.

 • functions = list of lists

The user-defined functions present in the system. Each function is described in a list of the form: [name, input argument type list, output type, Maple procedure].

 • initialpoint = list or set of equations

The operating point in the state-input space at which the local search for an equilibrium point should start. The EquilibriumPoint returns the equilibrium point closest to the initialpoint.

 If only some of the states and inputs are specified by the initialpoint, the EquilibriumPoint command sets the rest of the states and inputs equal to zero.
 If the initialpoint is not given, the EquilibriumPoint command chooses the initial point randomly.
 • simplify = truefalse

Specifies whether the given equations need to be simplified (true), or not (false). The default is true.

Description

 • The EquilibriumPoint command finds the equilibrium point of eqs such that constraints, if specified by the constraints option, are satisfied, and returns four lists of equations specifying the values of states, derivatives of states, inputs, and outputs at the equilibrium point, respectively.
 • The equilibrium point of a system is a point at which derivatives of the states vanish. The EquilibriumPoint command performs a local search and returns an equilibrium point closest to the initial point, either specified by the initialpoint parameter or chosen randomly.
 • If the EquilibriumPoint command cannot find a point at which derivatives are zero, it returns a point that minimizes the derivatives. It is possible to prescribe a non-zero value to the derivatives using the optional parameter constraints.

Examples

 > $\mathrm{with}\left(\mathrm{DynamicSystems}\right):$
 > $\mathrm{sys1}≔\left[\frac{ⅆ}{ⅆt}{x}_{1}\left(t\right)={{x}_{2}\left(t\right)}^{2}-4,\frac{ⅆ}{ⅆt}{x}_{2}\left(t\right)={x}_{1}\left(t\right)-1+u\left(t\right),y\left(t\right)={x}_{1}\left(t\right)+{x}_{2}\left(t\right)\right]$
 ${\mathrm{sys1}}{≔}\left[\frac{{ⅆ}}{{ⅆ}{t}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{{x}}_{{1}}{}\left({t}\right){=}{{{x}}_{{2}}{}\left({t}\right)}^{{2}}{-}{4}{,}\frac{{ⅆ}}{{ⅆ}{t}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{{x}}_{{2}}{}\left({t}\right){=}{{x}}_{{1}}{}\left({t}\right){-}{1}{+}{u}{}\left({t}\right){,}{y}{}\left({t}\right){=}{{x}}_{{1}}{}\left({t}\right){+}{{x}}_{{2}}{}\left({t}\right)\right]$ (1)
 > $\mathrm{EquilibriumPoint}\left(\mathrm{sys1},\left[u\left(t\right)\right],\mathrm{constraints}=\left[0<{x}_{1}\left(t\right)\right],\mathrm{initialpoint}=\left[u\left(t\right)=0,{x}_{1}\left(t\right)=2,{x}_{2}\left(t\right)=4\right]\right)$
 $\left[{{x}}_{{1}}{}\left({t}\right){=}{1.49999999768708}{,}{{x}}_{{2}}{}\left({t}\right){=}{-2.00000001053627}\right]{,}\left[\frac{{ⅆ}}{{ⅆ}{t}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{{x}}_{{1}}{}\left({t}\right){=}{4.21450963017378}{}{{10}}^{{-8}}{,}\frac{{ⅆ}}{{ⅆ}{t}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{{x}}_{{2}}{}\left({t}\right){=}{-4.62584648364128}{}{{10}}^{{-9}}\right]{,}\left[{u}{}\left({t}\right){=}{-0.500000002312923}\right]{,}\left[{y}{}\left({t}\right){=}{-0.500000012849197}\right]$ (2)
 > sys2 := {piecewise(x[1](t)<0, x[1](t), x[2](t) + x[1](t)^2) * piecewise(u(t)<0, cos(y(t)), sin(y(t))) = sin(x[1](t)^2) + 5 * y(t) + diff(x[1](t), t, t), y(t) - x[1](t)^2 + u(t)*x[1](t), diff(x[2](t), t) = f(x[1](t), u(t))}; user_function := [     f,     [float, float],     float,     proc(x, y)     local d1, d2;         d1 := cos(x)+x^2;         d2 := y*d1 + y^2;         return d1*x+d2*y- exp(d1);     end proc     ];
 ${\mathrm{sys2}}{≔}\left\{{y}{}\left({t}\right){-}{{{x}}_{{1}}{}\left({t}\right)}^{{2}}{+}{u}{}\left({t}\right){}{{x}}_{{1}}{}\left({t}\right){,}\left(\left\{\begin{array}{cc}{{x}}_{{1}}{}\left({t}\right)& {{x}}_{{1}}{}\left({t}\right){<}{0}\\ {{x}}_{{2}}{}\left({t}\right){+}{{{x}}_{{1}}{}\left({t}\right)}^{{2}}& {\mathrm{otherwise}}\end{array}\right\\right){}\left(\left\{\begin{array}{cc}{\mathrm{cos}}{}\left({y}{}\left({t}\right)\right)& {u}{}\left({t}\right){<}{0}\\ {\mathrm{sin}}{}\left({y}{}\left({t}\right)\right)& {\mathrm{otherwise}}\end{array}\right\\right){=}{\mathrm{sin}}{}\left({{{x}}_{{1}}{}\left({t}\right)}^{{2}}\right){+}{5}{}{y}{}\left({t}\right){+}\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{t}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{{x}}_{{1}}{}\left({t}\right){,}\frac{{ⅆ}}{{ⅆ}{t}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{{x}}_{{2}}{}\left({t}\right){=}{f}{}\left({{x}}_{{1}}{}\left({t}\right){,}{u}{}\left({t}\right)\right)\right\}$
 ${\mathrm{user_function}}{≔}\left[{f}{,}\left[{\mathrm{float}}{,}{\mathrm{float}}\right]{,}{\mathrm{float}}{,}{\mathbf{proc}}\left({x}{,}{y}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{local}}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathrm{d1}}{,}{\mathrm{d2}}{;}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathrm{d1}}{:=}{\mathrm{cos}}{}\left({x}\right){+}{x}{^}{2}{;}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathrm{d2}}{:=}{y}{*}{\mathrm{d1}}{+}{y}{^}{2}{;}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{return}}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathrm{d1}}{*}{x}{+}{\mathrm{d2}}{*}{y}{-}{\mathrm{exp}}{}\left({\mathrm{d1}}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end proc}}\right]$ (3)
 > $\mathrm{EquilibriumPoint}\left(\mathrm{sys2},\left[u\left(t\right)\right],\mathrm{functions}=\left[\mathrm{user_function}\right],\mathrm{initialpoint}=\left[{x}_{1}\left(t\right)=1,{x}_{2}\left(t\right)=1,u\left(t\right)=1\right]\right)$
 $\left[{{x}}_{{1}}{}\left({t}\right){=}{0.853420831346895}{,}{{x}}_{{2}}{}\left({t}\right){=}{0.687832129312234}\right]{,}\left[\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{t}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{{x}}_{{1}}{}\left({t}\right){=}{2.43748043970982}{}{{10}}^{{-9}}{,}\frac{{ⅆ}}{{ⅆ}{t}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{{x}}_{{1}}{}\left({t}\right){=}{0.}{,}\frac{{ⅆ}}{{ⅆ}{t}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{{x}}_{{2}}{}\left({t}\right){=}{-1.14152598484907}{}{{10}}^{{-9}}\right]{,}\left[{u}{}\left({t}\right){=}{1.07055911392119}\right]{,}\left[{y}{}\left({t}\right){=}{-0.185310333631790}\right]$ (4)

Compatibility

 • The evaluationlimit option was introduced in Maple 15.