Processing math: 100%

4.6 Stability of system

Algorithm 1:Determining stability of system \mathbf{\dot{x} }= A \mathbf{x} + \mathbf{g(x)}
1:   if system is linear, i.e. \mathbf{\dot{x} }= A \mathbf{x} then
2:    determine eigenvalues \lambda _i of A by solving |A-\lambda I|=0
3:    if all eigenvalues have real part smaller than zero then
4:    return stable
5:    else
6:    if at least one eigenvalue have positive real part then
7:    return not stable
8:    else \triangleright we get here if at least one \lambda has zero real part
9:    for all \lambda _i with zero real part do
10:    M =\text{multiplicity of $\lambda _i$}
11:    N =\text{number of linearly independent eigenvectors that $\lambda _i$ can generate}
12:    if N<M then
13:    return not stable
14:    end if
15:    end for
16:    return stable
17:    end if
18:    end if
19:   else \triangleright system not linear
20:    will only consider case when origin is equilibrium point
21:    determine the Jacobian matrix J
22:    evaluate J at origin \mathbf{x}= \mathbf{0}
23:    determine eigenvalues \lambda _i of J by solving |J-\lambda I|=0
24:    if all eigenvalues have real part smaller than zero then
25:    return stable
26:    else
27:    if at least one eigenvalue have positive real part then
28:    return not stable
29:    else \triangleright we get here if at least one \lambda has zero real part
30:    return unable to decide
31:    end if
32:    end if
33:   end if