Discretize this continuous time linear system

Click For Summary
SUMMARY

The forum discussion centers on finding the discrete time equivalent of a continuous time linear system represented by the matrix A. The discrete time equivalent matrix, A_k, is computed using the formula A_k = e^{A τ}, where τ is the sampling period. The primary challenge discussed is the diagonalization of matrix A, which is not full rank and has repeating eigenvalues, specifically two zero eigenvalues. The discussion emphasizes that while companion matrices require unique eigenvalues for diagonalization, the matrix A in question is not a companion matrix and can still be analyzed using techniques involving nilpotent matrices and power series.

PREREQUISITES
  • Understanding of linear algebra concepts, particularly matrix diagonalization
  • Familiarity with matrix exponentials and their applications in control systems
  • Knowledge of eigenvalues and eigenvectors, including concepts of rank and multiplicity
  • Basic understanding of nilpotent matrices and their properties
NEXT STEPS
  • Study the properties of nilpotent matrices and their role in matrix exponentiation
  • Learn about the Cayley-Hamilton theorem and its implications for matrix functions
  • Explore the power series expansion of the exponential function and its application to matrices
  • Investigate methods for transforming defective matrices into forms suitable for diagonalization
USEFUL FOR

Students and professionals in control systems, linear algebra, and applied mathematics, particularly those working on discretization of continuous systems and matrix analysis.

irishetalon00
Messages
20
Reaction score
2

Homework Statement


I need to find the discrete time equivalent of the following system:
<br /> \begin{bmatrix}<br /> \ddot{x} \\<br /> \dot{x} \\<br /> \ddot{\theta} \\<br /> \dot{\theta}<br /> \end{bmatrix} = \begin{bmatrix}<br /> 0 &amp; 0 &amp; 0 &amp; 4.2042857 \\<br /> 1 &amp; 0 &amp; 0 &amp; 0 \\<br /> 0 &amp; 0 &amp; 0 &amp; 105.1071428 \\<br /> 0 &amp; 0 &amp; 1 &amp; 0<br /> \end{bmatrix} \begin{bmatrix}<br /> \dot{x} \\<br /> x \\<br /> \dot{\theta} \\<br /> \theta<br /> \end{bmatrix}<br />
this can be written as
<br /> \vec{\dot{x}} = A \vec{x}<br />
This requires that I find the matrix exponential of "A".

Homework Equations


The discrete time equivalent matrix, A_k, is computed as
A_k = e^{A \tau}
where \tau is the sampling period of the discrete time system.

The Attempt at a Solution


I tried to diagonalize the A matrix by pre- and post-multiplying by its matrix of eigenvectors, but said matrix seems like it might be singular which means I can't diagonalize the A matrix. The A matrix is not full rank, and I don't know if this is why it's causing me problems. I read somehwere that a matrix can only be diagonalized if it has non-repeating eigenvalues, and mine has two zero eigenvalues, so is this why it won't work? If not, how can I transform my system into a system that can be discretized?
 
Physics news on Phys.org
irishetalon00 said:

Homework Statement


I need to find the discrete time equivalent of the following system:
<br /> \begin{bmatrix}<br /> \ddot{x} \\<br /> \dot{x} \\<br /> \ddot{\theta} \\<br /> \dot{\theta}<br /> \end{bmatrix} = \begin{bmatrix}<br /> 0 &amp; 0 &amp; 0 &amp; 4.2042857 \\<br /> 1 &amp; 0 &amp; 0 &amp; 0 \\<br /> 0 &amp; 0 &amp; 0 &amp; 105.1071428 \\<br /> 0 &amp; 0 &amp; 1 &amp; 0<br /> \end{bmatrix} \begin{bmatrix}<br /> \dot{x} \\<br /> x \\<br /> \dot{\theta} \\<br /> \theta<br /> \end{bmatrix}<br />
this can be written as
<br /> \vec{\dot{x}} = A \vec{x}<br />
This requires that I find the matrix exponential of "A".

Homework Equations


The discrete time equivalent matrix, A_k, is computed as
A_k = e^{A \tau}
where \tau is the sampling period of the discrete time system.

Are you sure you've written ##\mathbf A## correctly? I find it odd that the second column is all zeros both from a general modelling standpoint, and because where would normally be a one there in column 2, 2nd to bottom row, if this is a companion matrix or companion system.

irishetalon00 said:

The Attempt at a Solution


I tried to diagonalize the A matrix by pre- and post-multiplying by its matrix of eigenvectors, but said matrix seems like it might be singular which means I can't diagonalize the A matrix. The A matrix is not full rank, and I don't know if this is why it's causing me problems
I'm not sure what this means. It's not uncommon for people on these forums to confuse rank of the matrix and the rank of the collection of eigenvectors.

irishetalon00 said:
I read somehwere that a matrix can only be diagonalized if it has non-repeating eigenvalues

This is a big deal and is wrong. Having all eigenvalues unique (with scalars in ##\mathbb C##) is a guarantee that you can diagonalize the matrix. You can still diagonalize a lot of matrices that don't have this guarantee (most notably every single normal matrix, of which Hermitian are a special kind, of which real symmetric are an even more special kind).

An interesting feature of companion matrices specifically is that they are only diagonalizable if and only if all eigenvalues are unique -- but your ##\mathbf A## isn't quite a companion matrix.

irishetalon00 said:
mine has two zero eigenvalues, so is this why it won't work? If not, how can I transform my system into a system that can be discretized?

I can eyeball your matrix ##\mathbf A## as is and see it has rank 3. So there is one non-zero vector in its nullspace (i.e. one eigenvector with eigenvalue of zero). Supposing your ##\mathbf A## is correct, then yes, this is the problem and why your matrix is defective (i.e. geometric multiplicity of eigenvectors is less than algebraic multiplicity of eigenvalues -- the zero in this case).

A couple thoughts:
Do you know the power series for the exponential function? What happens if you apply the power series into 3 distinct partitions i.e. (1) power series for portion related to ##\lambda_1 \gt 0##, (2) portion for ##\lambda_2 = -\lambda_1## and (3) portion for the two eigs = 0. What sort of simplifications can you do here? The first two should be somewhat straightforward. For the third, you may need to look up 'nilpotent' matrix.

edit:
it may be instructive to look at

##\text{rank}\big(\mathbf A\big)##
vs
##\text{rank}\big(\mathbf A^2\big)##
vs
##\text{rank}\big(\mathbf A^3\big)##
vs
##\text{rank}\big(\mathbf A^4\big)##

This should give you a feel for what is going on with all of this talk about a nilpotent or defective matrix.
 
Last edited:
to further simplify this, for now consider rescaling your matrix ##\mathbf A##. In particular divide everything by ##\lambda_1##. So ##\mathbf B := \frac{1}{\lambda_1}\mathbf A##

You should notice that

##\mathbf B^3 = \mathbf B^5 = \mathbf B^7 = \mathbf B^9 ...##

and

##-\mathbf B^3 = \mathbf B^4 = \mathbf B^6 = \mathbf B^8 = ... ##

We could restate this in terms of Cayley Hamilton if you want, but try to work through the implications of the power series of

##e^{\mathbf B}##

- - - -

Step two:

After all that is done, consider the fact that for commuting matrices the exponential function behaves the same way as it does for 'regular numbers'.

so

##e^{\lambda_1 \mathbf I}e^{\mathbf B} = e^{\lambda_1 \mathbf I \mathbf B} = e^{\lambda_1 \mathbf B} = e^{\mathbf A} ##

where ##e^{\lambda_1 \mathbf I}## should be very easy to find
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 33 ·
2
Replies
33
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
3
Views
2K