Regarding the elimination of zero complex terms from State Transition Matrix
Show older comments
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
on 13 Dec 2018
Edited: Mark Sherstan
on 13 Dec 2018
real(eig(A1))
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
on 13 Dec 2018
Edited: Rajani Metri
on 13 Dec 2018
madhan ravi
on 13 Dec 2018
Just give an example of your desired output
Rajani Metri
on 13 Dec 2018
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!