Symbolic matrix diagonalization problem

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;

 Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 3 Déc 2013
Modifié(e) : Andrei Bobrov le 3 Déc 2013
Err = simplify(d1-D);
all(Err(:) == 0)

Plus de réponses (0)

Catégories

En savoir plus sur Symbolic Math Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by