Legacy Documentation

Advanced Numerical Methods (2003)

This is documentation for an obsolete product.
Current products and services

 Documentation /  Advanced Numerical Methods /  Function Index /  Pole Assignment and Stabilization by State Feedback /

QRDecompositionRecursiveRQDecomposition

5.1.1 The Recursive Algorithms

After transforming the given state-space system to the block controller-Hessenberg form , the recursive algorithm constructs a block upper-triangular matrix and a block upper-bidiagonal matrix , whose diagonal blocks , , ..., contain the eigenvalues to be assigned, such that

, where and has full rank.

The following steps are performed:

1. Set .

2. Compute the blocks through of recursively as follows:

2.1 Compute .

2.2 Find the RQ decomposition of : .

3. Compute the feedback matrix by solving the linear system:

.

Option value for the recursive pole assignment method.

Although the recursive algorithm is the most efficient of all the algorithms, it is not necessarily numerically stable. In the single-input case, however, the algorithm has been proven to be numerically reliable (Arnold and Datta (1998)) in the sense that the ill-conditioning of the matrix is an indicator of the breakdown of the algorithm. Both the single-input and multi-input algorithms have worked well in most test cases. The RQ version of the single-input algorithm is numerically stable (Arnold and Datta (1998)).

Make sure the application is loaded.

In[1]:=

Load the collection of test examples.

In[2]:=

This is a model of an L-1011 aircraft.

In[3]:=

Out[3]=

Here are the desired poles, arbitrarily chosen.

In[4]:=

The multi-input recursive method gives the following feedback gain matrix.

In[5]:=

Out[5]=

This computes the norm of the feedback gain matrix.

In[6]:=

Out[6]=

Here are the computed closed-loop poles.

In[7]:=

Out[7]=

Make sure the function MultipleListPlot is available.

In[8]:=

This displays the closed-loop poles of the L-1011 aircraft model on the complex plane.

In[9]:=

QRDecompositionRecursiveRQDecomposition