MATLAB Answers

# Converting values in eigenvector to rational forms that include square roots

26 views (last 30 days)
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 CommentShowHide None
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))]

Sign in to comment.

### 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 CommentsShowHide 2 older comments
Walter Roberson on 20 Oct 2020

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!