Symbolic matrix diagonalization problem

36 views (last 30 days)
Dear All,
I faced a problem with matrix diagonalization. I want to find the matrix that diagonalizes, say, matrix A. It is known that V^-1*A*V=D solves this problem, where V is the matrix of eigenvectors and D is the matrix of eigenvalues. I checked this method with arbitrary matrices and saw that it works, as it should be.
However, when I try to diagonalize a 3x3 symbolic matrix, V^-1*A*V does not give me D matrix. What could have gone wrong? Any help would be appreciated.
Cheers.
syms k1 k2 k3 m1 m2 m3;
A=[(k1+k3)/m1,-k1/m1,-k3/m1;-k1/m2,(k1+k2)/m2,-k2/m2;-k3/m3,-k2/m3,(k2+k3/m3];
[V,D]=eig(A);
d1=V^-1*A*V;
ans=d1-D;

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 3 Dec 2013
Edited: Andrei Bobrov on 3 Dec 2013
Err = simplify(d1-D);
all(Err(:) == 0)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!