Unnormalizing a matrix from eig function
    39 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Matthew Speijer
 el 13 de Jul. de 2020
  
    
    
    
    
    Respondida: Steven Lord
    
      
 el 13 de Jul. de 2020
            How would you go about unnormalizing the v matrix in [v,e]=eig(A)?
Example:
A = [0 1 0 ;...
    0 0 1 ;...
    -15 -23 -9];
[v,e]   = eig(A);
normalized:
v = [0.577350269189626	0.104828483672192	0.0391930900834810
-0.577350269189626	-0.314485451016576	-0.195965450417405
0.577350269189626	0.943456353049726	0.979827252087026]
wanted:
 [1,1/25,1/9;
    -1,-1/5,-1/3;
    1,1,1]
attempted:
v/v(1) but gave
[1	0.181568259800641	0.0678844233302130
-1.00000000000000	-0.544704779401923	-0.339422116651065
1.00000000000000	1.63411433820577	1.69711058325533]
0 comentarios
Respuesta aceptada
  Steven Lord
    
      
 el 13 de Jul. de 2020
        Q = v./max(v, [], 1);
Display it using format rat and you'll see it matches the form you wanted (modulo the fact that you swapped the second and third eigenvectors.) This won't change how Q is stored just how it's displayed. You can also check that Q is still a matrix of eigenvectors.
r = A*Q-Q*e % All elements should be small
If you turned on format rat before displaying r, you're going to need to switch to a different display format to see that the elements of r are small.
0 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Linear Algebra en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!