Converting values in eigenvector to rational forms that include square roots
8 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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!