find the local equilibrium point of system satisfying constraints - Maple Help

Online Help

All Products    Maple    MapleSim


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 expr=0

u

-

list or set; input variables

opts

-

(optional) equation(s) of the form option = value; specify options for the EquilibriumPoint command

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

withDynamicSystems:

sys1:=ⅆⅆtx1t=x2t24,ⅆⅆtx2t=x1t1+ut,yt=x1t+x2t

sys1:=ⅆⅆtx1t=x2t24,ⅆⅆtx2t=x1t1+ut,yt=x1t+x2t

(1)

EquilibriumPointsys1&comma;ut&comma;constraints&equals;0<x1t&comma;initialpoint&equals;ut&equals;0&comma;x1t&equals;2&comma;x2t&equals;4

x1t&equals;1.49999999768708&comma;x2t&equals;2.00000001053627&comma;&DifferentialD;&DifferentialD;tx1t&equals;4.2145096301737810-8&comma;&DifferentialD;&DifferentialD;tx2t&equals;4.6258464836412810-9&comma;ut&equals;0.500000002312923&comma;yt&equals;0.500000012849197

(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
    ];

sys2:=ytx1t2&plus;utx1t&comma;&lcub;x1tx1t<0x2t&plus;x1t2otherwise&lcub;cosytut<0sinytotherwise&equals;sinx1t2&plus;5yt&plus;&DifferentialD;2&DifferentialD;t2x1t&comma;&DifferentialD;&DifferentialD;tx2t&equals;fx1t&comma;ut

user_function:=f&comma;float&comma;float&comma;float&comma;procx&comma;ylocald1&comma;d2&semi;d1:=cosx&plus;x&Hat;2&semi;d2:=y&ast;d1&plus;y&Hat;2&semi;returnd1&ast;x&plus;d2&ast;yexpd1end proc

(3)

EquilibriumPointsys2&comma;ut&comma;functions&equals;user_function&comma;initialpoint&equals;x1t&equals;1&comma;x2t&equals;1&comma;ut&equals;1

x1t&equals;0.853420831346895&comma;x2t&equals;0.687832129312234&comma;&DifferentialD;2&DifferentialD;t2x1t&equals;2.4374804397098210-9&comma;&DifferentialD;&DifferentialD;tx1t&equals;0.&comma;&DifferentialD;&DifferentialD;tx2t&equals;1.1415259848490710-9&comma;ut&equals;1.07055911392119&comma;yt&equals;0.185310333631790

(4)

See Also

DynamicSystems, DynamicSystems[Linearize]


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam