Discretize this continuous time linear system

In summary: What this boils down to is that the rank of the matrix ##\mathbf A## is the same as the rank of the matrix ##\mathbf B##, which is also the rank of the matrix ##\mathbf C##, which is also the rank of the matrix ##\mathbf D##, and so on.
  • #1
irishetalon00
18
0

Homework Statement


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

Homework Equations


The discrete time equivalent matrix, [itex]A_k[/itex], is computed as
[itex]A_k = e^{A \tau}[/itex]
where [itex]\tau[/itex] 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
  • #2
irishetalon00 said:

Homework Statement


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

Homework Equations


The discrete time equivalent matrix, [itex]A_k[/itex], is computed as
[itex]A_k = e^{A \tau}[/itex]
where [itex]\tau[/itex] 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:
  • #3
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
 

FAQ: Discretize this continuous time linear system

What does it mean to discretize a continuous time linear system?

Discretizing a continuous time linear system involves converting it from a continuous time domain into a discrete time domain. This is typically done by dividing the continuous time into small intervals and approximating the system's behavior within each interval.

Why is discretization necessary for studying linear systems?

In many real-world scenarios, data is collected at discrete intervals rather than continuously. Discretizing a continuous time linear system allows us to better analyze and understand its behavior using this discrete data.

What are the common methods for discretizing a continuous time linear system?

The most common methods for discretizing a continuous time linear system are Euler's method, the Runge-Kutta method, and the Z-transform method. Each method has its own advantages and limitations, and the choice of method depends on the specific system being discretized and the desired level of accuracy.

What are the challenges of discretizing a continuous time linear system?

One challenge is that discretization can introduce error into the system, which can affect the accuracy of the results. Another challenge is choosing an appropriate discretization method and determining the appropriate time interval to use for the discretization.

What are some applications of discretized continuous time linear systems?

Discretized continuous time linear systems are commonly used in control systems, signal processing, and numerical simulations. They can also be used in the design and analysis of various engineering systems, such as electronic circuits and mechanical systems.

Back
Top