Converting values in eigenvector to rational forms that include square roots

15 vues (au cours des 30 derniers jours)
I tried computing the eigen vectors and eigen values for a 3x3 matrix, but the result is given in fractions after I used format rational. How can I change the format so as to get values in my matrix that include square root ? (i.e, sqrt(2)/2 )
Here are my codes:
A = [3 1 1 ;1 0 2;1 2 0];
>> [V,D] = eig(A)
V =
0.0000 0.5774 -0.8165
0.7071 -0.5774 -0.4082
-0.7071 -0.5774 -0.4082
D =
-2.0000 0 0
0 1.0000 0
0 0 4.0000
  1 commentaire
Walter Roberson
Walter Roberson le 14 Oct 2020
[V,D] = eig(sym(A))
if you have the symbolic toolbox.
V ./ [norm(V(:,1)), norm(V(:,2)), norm(V(:,3))]

Connectez-vous pour commenter.

Réponse acceptée

Prudhvi Peddagoni
Prudhvi Peddagoni le 19 Oct 2020
Modifié(e) : Walter Roberson le 19 Oct 2020
Hi,
you need to use sym command to convert matrix A to a symbolic variable. you can find the examples of sym command usage and the documentation here.
Hope this helps.
  3 commentaires
Prudhvi Peddagoni
Prudhvi Peddagoni le 20 Oct 2020
you can convert matrix A to symbolic matrix like this
A=sym(A);
then you can use this symbolic matrix to as the input for eig function.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by