kb/data/en.wikipedia.org/wiki/Ackermann's_formula-2.md

18 KiB
Raw Blame History

title chunk source category tags date_saved instance
Ackermann's formula 3/3 https://en.wikipedia.org/wiki/Ackermann's_formula reference science, encyclopedia 2026-05-05T13:34:54.532302+00:00 kb-cron
          x
          ˙
        
      
    
    =
    
      
        [
        
          
            
              1
            
            
              1
            
          
          
            
              1
            
            
              2
            
          
        
        ]
      
    
    
      x
    
    +
    
      
        [
        
          
            
              1
            
          
          
            
              0
            
          
        
        ]
      
    
    
      u
    
  

{\displaystyle \mathbf {\dot {x}} ={\begin{bmatrix}1&1\\1&2\end{bmatrix}}\mathbf {x} +{\begin{bmatrix}1\\0\end{bmatrix}}\mathbf {u} }

We know from the characteristic polynomial of A that the system is unstable since

            det
            (
            s
            
              I
            
            
            
              A
            
            )
          
          
            
            =
            (
            s
            
            1
            )
            (
            s
            
            2
            )
            
            1
          
        
        
          
          
            
            =
            
              s
              
                2
              
            
            
            3
            s
            +
            2
            ,
          
        
      
    
  

{\displaystyle {\begin{aligned}\det(s\mathbf {I} -\mathbf {A} )&=(s-1)(s-2)-1\\&=s^{2}-3s+2,\end{aligned}}}

the matrix A will only have positive eigenvalues. Thus, to stabilize the system we shall put a feedback gain

      k
    
    =
    
      
        [
        
          
            
              
                k
                
                  1
                
              
            
            
              
                k
                
                  2
                
              
            
          
        
        ]
      
    
    .
  

{\displaystyle \mathbf {k} ={\begin{bmatrix}k_{1}&k_{2}\end{bmatrix}}.}

From Ackermann's formula, we can find a matrix k that will change the system so that its characteristic equation will be equal to a desired polynomial. Suppose we want

      Δ
      
        desired
      
    
    (
    s
    )
    =
    
      s
      
        2
      
    
    +
    11
    s
    +
    30.
  

{\displaystyle \Delta _{\text{desired}}(s)=s^{2}+11s+30.}

Thus,

      Δ
      
        desired
      
    
    (
    
      A
    
    )
    =
    
      
        A
      
      
        2
      
    
    +
    11
    
      A
    
    +
    30
    
      I
    
  

{\displaystyle \Delta _{\text{desired}}(\mathbf {A} )=\mathbf {A} ^{2}+11\mathbf {A} +30\mathbf {I} }

and computing the controllability matrix yields

                C
              
            
          
          
            
            =
            
              
                [
                
                  
                    
                      
                        B
                      
                    
                    
                      
                        A
                        B
                      
                    
                  
                
                ]
              
            
            =
            
              
                [
                
                  
                    
                      1
                    
                    
                      1
                    
                  
                  
                    
                      0
                    
                    
                      1
                    
                  
                
                ]
              
            
          
        
        
          
            
            ⟹
            
            
              
                
                  C
                
              
              
                
                1
              
            
          
          
            
            =
            
              
                [
                
                  
                    
                      1
                    
                    
                      
                      1
                    
                  
                  
                    
                      0
                    
                    
                      1
                    
                  
                
                ]
              
            
          
        
      
    
  

{\displaystyle {\begin{aligned}{\mathcal {C}}&={\begin{bmatrix}\mathbf {B} &\mathbf {AB} \end{bmatrix}}={\begin{bmatrix}1&1\\0&1\end{bmatrix}}\\[4pt]\implies {\mathcal {C}}^{-1}&={\begin{bmatrix}1&-1\\0&1\end{bmatrix}}\end{aligned}}}

Also, we have that

        A
      
      
        2
      
    
    =
    
      [
      
        
          
            
              
                2
              
              
                3
              
            
            
              
                3
              
              
                5
              
            
          
        
      
      ]
    
    .
  

{\displaystyle \mathbf {A} ^{2}=\left[{\begin{smallmatrix}2&3\\3&5\end{smallmatrix}}\right].}

Finally, from Ackermann's formula

                k
              
              
                
                  T
                
              
            
          
          
            
            =
            
              
                [
                
                  
                    
                      0
                    
                    
                      1
                    
                  
                
                ]
              
            
            
              
                [
                
                  
                    
                      1
                    
                    
                      
                      1
                    
                  
                  
                    
                      0
                    
                    
                      1
                    
                  
                
                ]
              
            
            
              (
              
                
                  
                    [
                    
                      
                        
                          2
                        
                        
                          3
                        
                      
                      
                        
                          3
                        
                        
                          5
                        
                      
                    
                    ]
                  
                
                +
                11
                
                  
                    [
                    
                      
                        
                          1
                        
                        
                          1
                        
                      
                      
                        
                          1
                        
                        
                          2
                        
                      
                    
                    ]
                  
                
                +
                30
                
                  I
                
              
              )
            
          
        
        
          
          
            
            =
            
              
                [
                
                  
                    
                      0
                    
                    
                      1
                    
                  
                
                ]
              
            
            
              
                [
                
                  
                    
                      1
                    
                    
                      
                      1
                    
                  
                  
                    
                      0
                    
                    
                      1
                    
                  
                
                ]
              
            
            
              
                [
                
                  
                    
                      43
                    
                    
                      14
                    
                  
                  
                    
                      14
                    
                    
                      57
                    
                  
                
                ]
              
            
          
        
        
          
          
            
            =
            
              
                [
                
                  
                    
                      0
                    
                    
                      1
                    
                  
                
                ]
              
            
            
              
                [
                
                  
                    
                      29
                    
                    
                      
                      43
                    
                  
                  
                    
                      14
                    
                    
                      57
                    
                  
                
                ]
              
            
          
        
        
          
          
            
            =
            
              
                [
                
                  
                    
                      14
                    
                    
                      57
                    
                  
                
                ]
              
            
          
        
      
    
  

{\displaystyle {\begin{aligned}\mathbf {k} ^{\rm {T}}&={\begin{bmatrix}0&1\end{bmatrix}}{\begin{bmatrix}1&-1\\0&1\end{bmatrix}}\left({\begin{bmatrix}2&3\\3&5\end{bmatrix}}+11{\begin{bmatrix}1&1\\1&2\end{bmatrix}}+30\mathbf {I} \right)\\[2pt]&={\begin{bmatrix}0&1\end{bmatrix}}{\begin{bmatrix}1&-1\\0&1\end{bmatrix}}{\begin{bmatrix}43&14\\14&57\end{bmatrix}}\\[2pt]&={\begin{bmatrix}0&1\end{bmatrix}}{\begin{bmatrix}29&-43\\14&57\end{bmatrix}}\\[6pt]&={\begin{bmatrix}14&57\end{bmatrix}}\end{aligned}}}

== State observer design == Ackermann's formula can also be used for the design of state observers. Consider the linear discrete-time observed system

                  x
                  ^
                
              
            
            (
            n
            +
            1
            )
          
          
            
            =
            
              A
              
                
                  
                    x
                    ^
                  
                
              
            
            (
            n
            )
            +
            
              B
              u
            
            (
            n
            )
            +
            
              L
            
            [
            
              y
            
            (
            n
            )
            
            
              
                
                  y
                  ^
                
              
            
            (
            n
            )
            ]
          
        
        
          
            
              
                
                  y
                  ^
                
              
            
            (
            n
            )
          
          
            
            =
            
              C
              
                
                  
                    x
                    ^
                  
                
              
            
            (
            n
            )
          
        
      
    
  

{\displaystyle {\begin{aligned}\mathbf {\hat {x}} (n+1)&=\mathbf {A{\hat {x}}} (n)+\mathbf {Bu} (n)+\mathbf {L} [\mathbf {y} (n)-\mathbf {\hat {y}} (n)]\\\mathbf {\hat {y}} (n)&=\mathbf {C{\hat {x}}} (n)\end{aligned}}}

with observer gain L. Then Ackermann's formula for the design of state observers is noted as

        L
      
      
        
          T
        
      
    
    =
    
      
        [
        
          
            
              0
            
            
              0
            
            
              ⋯
            
            
              1
            
          
        
        ]
      
    
    (
    
      
        
          O
        
      
      
        
          T
        
      
    
    
      )
      
        
        1
      
    
    
      Δ
      
        new
      
    
    (
    
      
        A
      
      
        
          T
        
      
    
    )
  

{\displaystyle \mathbf {L} ^{\rm {T}}={\begin{bmatrix}0&0&\cdots &1\end{bmatrix}}({\mathcal {O}}^{\rm {T}})^{-1}\Delta _{\text{new}}(\mathbf {A} ^{\rm {T}})}

with observability matrix

        O
      
    
  

{\displaystyle {\mathcal {O}}}

. Here it is important to note, that the observability matrix and the system matrix are transposed:

          O
        
      
      
        
          T
        
      
    
  

{\displaystyle {\mathcal {O}}^{\rm {T}}}

and AT. Ackermann's formula can also be applied on continuous-time observed systems.

== See also == Full state feedback

== References ==

== External links == Chapter about Ackermann's Formula on Wikibook of Control Systems and Control Engineering