MATLAB Answers

Converting values in eigenvector to rational forms that include square roots

조회 수: 10(최근 30일)
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

Walter Roberson
Walter Roberson 14 Oct 2020
[V,D] = eig(sym(A))
if you have the symbolic toolbox.
V ./ [norm(V(:,1)), norm(V(:,2)), norm(V(:,3))]

댓글을 달려면 로그인하십시오.

채택된 답변

Prudhvi Peddagoni
Prudhvi Peddagoni 19 Oct 2020
편집: Walter Roberson 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

Randy Chen
Randy Chen 20 Oct 2020
could you please show the codes how to convert my matrix A and get symbolic values? I read through the documentation but still don't understand it
Prudhvi Peddagoni
Prudhvi Peddagoni 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.

댓글을 달려면 로그인하십시오.

추가 답변(0개)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by