Regarding the elimination of zero complex terms from State Transition Matrix
Mostra commenti meno recenti
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.
Risposte (2)
Mark Sherstan
il 13 Dic 2018
Modificato: Mark Sherstan
il 13 Dic 2018
real(eig(A1))
madhan ravi
il 13 Dic 2018
Modificato: madhan ravi
il 13 Dic 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 Commenti
Rajani Metri
il 13 Dic 2018
Modificato: Rajani Metri
il 13 Dic 2018
madhan ravi
il 13 Dic 2018
Just give an example of your desired output
Rajani Metri
il 13 Dic 2018
Categorie
Scopri di più su Eigenvalues & Eigenvectors in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!