How to compute the characteristic equation given the eigenvalues?

15 Ansichten (letzte 30 Tage)
Is there a matlab command to get the characteristic equation (CE) given the eigenvalues? Similarly how to get CE from the A matrix?

Akzeptierte Antwort

John D'Errico
John D'Errico am 19 Feb. 2025
Bearbeitet: John D'Errico am 19 Feb. 2025
You have not asked this question as if it is a homework assignment, so I'll give an answer.
The characteristic equation GIVEN eigenvalues? Trivial.
The eigenvalues are the roots of a polynomial, known as the characteristic polynomial. What polynomial has roots at a list of points? For example, suppose the eigenvalues are:
EVList = randn(1,5)
EVList = 1×5
-0.4199 -1.3665 1.3929 -1.3947 -0.3760
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
What polynomial has those roots?
syms lambda
CP = prod(lambda - EVList)
CP = 
Feel free to expand it. I'll show only 5 digits, to make it readable.
vpa(expand(CP),5)
ans = 
You could recover the roots to convince yourself that it worked, but I'll leave that to you.
Can you learn the eigenvalues from a matrix? (HInt: what does eig do?)
What is the characteristic polynomial, given a matrix A?
A = randn(3,3)
A = 3×3
-1.0183 0.6000 -0.1730 1.2929 0.3481 0.4041 -0.1120 -1.2856 1.1605
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
CP2 = det(A - lambda*eye(size(A)))
CP2 = 
Can we find the roots of that polynomial? You can use solve, or you could extract the coefficients, and then use roots.
solve(CP2)
ans = 
Are they the same as the eigenvalues, as given by eig?
eig(A)
ans =
-1.3743 + 0.0000i 0.9323 + 0.5344i 0.9323 - 0.5344i

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by