Regarding the elimination of zero complex terms from State Transition Matrix

1 view (last 30 days)
I have a Matrix A defined as
A1 = [-(1/2)*(1+(1/sqrt(2))) 1/4;-(1/2) -(1/2)*(1-(1/sqrt(2)))];
which is equivalent to
A2 = [-0.8536 0.2500; -0.5000 -0.1464];
But when I take eigenvalues in both cases I get different eigenvalues
>> eig(A1)
ans =
-0.5000 + 0.0000i
-0.5000 - 0.0000i
eigenvaules are repeated, but MATLAB considering these as distinct roots(Complex conjugate)
>> eig(A2)
ans =
-0.5057
-0.4943
because of truncation, roots seems to be Different.
I have no problem with A2 matrix. But I want the system to consider only real part of eigenvalues of A1 matrix. Because of +0.0000i and -0.0000i the equations which depend on eigenvalues of A is changing.
I have already used real(egg(A1)) but I wanted to Calculate the state transition matrix i.e. e^(At)
syms t
phi = vpa(expm(A*t),4)
in this expression it should take those repeated roots of -0.5 and -0.5. But it is not taking.
So, please help me out.
Thank You.

Answers (2)

Mark Sherstan
Mark Sherstan on 13 Dec 2018
Edited: Mark Sherstan on 13 Dec 2018
real(eig(A1))

madhan ravi
madhan ravi on 13 Dec 2018
Edited: madhan ravi on 13 Dec 2018
The imaginary part is not zero:
"Ideally, the eigenvalue decomposition satisfies the relationship. Since eig performs the decomposition using floating-point computations, then A*V can, at best, approach V*D. In other words, A*V - V*D is close to, but not exactly, 0." mentioned here
>> A1 = [-(1/2)*(1+(1/sqrt(2))) 1/4;-(1/2) -(1/2)*(1-(1/sqrt(2)))];
vpa(eig(A1))
ans =
- 0.5 + 0.0000000064523920698794617994748209544899i
- 0.5 - 0.0000000064523920698794617994748209544899i
>>
  3 Comments
Rajani Metri
Rajani Metri on 13 Dec 2018
I calculated the e^At (state transition matrix) on paper and it comes out as follows:
[(e^(-0.5t)) - 0.3536*t*(e^(-0.5t)), 0.25*t*(e^(-0.5t));
-0.5*t*(e^(-0.5t)), (e^(-0.5t)) + 0.3536*t*(e^(-0.5t))]
it is a 2x2 matrix.

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!