Converting values in eigenvector to rational forms that include square roots
9 views (last 30 days)
Show older comments
Randy Chen
on 14 Oct 2020
Edited: Walter Roberson
on 20 Oct 2020
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 Comment
Walter Roberson
on 14 Oct 2020
[V,D] = eig(sym(A))
if you have the symbolic toolbox.
V ./ [norm(V(:,1)), norm(V(:,2)), norm(V(:,3))]
Accepted Answer
Prudhvi Peddagoni
on 19 Oct 2020
Edited: Walter Roberson
on 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 Comments
Prudhvi Peddagoni
on 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.
Walter Roberson
on 20 Oct 2020
Edited: Walter Roberson
on 20 Oct 2020
More Answers (0)
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!