% eigen.m demonstrate eigenvalues in MatLab format compact e1=1; % desired eigenvalues e2=2; e3=3; e4=4; P=poly([e1 e2 e3 e4]) % make polynomial from roots r=roots(P) % check that roots come back A=zeros(4); A(1,1)=-P(2); % build matrix A A(1,2)=-P(3); A(1,3)=-P(4); A(1,4)=-P(5); A(2,1)=1; A(3,2)=1; A(4,3)=1 [v e]=eig(A) % compute eigenvectors and eigenvalues I=eye(4); % identity matrix for i=1:4 z1=det(A-I.*e(i,i)) % should be near zero end for i=1:4 z2=A*v(:,i)-e(i,i)*v(:,i) % note columns, near zero end z3=trace(A)-trace(e) % should be near zero % annotated output % %P = % 1 -10 35 -50 24 %r = % 4.0000 these should be eigenvalues % 3.0000 % 2.0000 % 1.0000 %A = % 10 -35 50 -24 polynomial coefficients % 1 0 0 0 % 0 1 0 0 % 0 0 1 0 %v = % 0.9683 0.9429 0.8677 0.5000 eigenvectors % 0.2421 0.3143 0.4339 0.5000 are % 0.0605 0.1048 0.2169 0.5000 columns % 0.0151 0.0349 0.1085 0.5000 %e = % 4.0000 0 0 0 eigenvalues % 0 3.0000 0 0 as diagonal % 0 0 2.0000 0 of the matrix % 0 0 0 1.0000 %z1 = % 1.1280e-13 i=1 first eigenvalue %z1 = % 5.0626e-14 %z1 = % 1.3101e-14 %z1 = % 2.6645e-15 %z2 = % 1.0e-14 * note multiplier i=1 % -0.4441 % -0.1110 % -0.0333 % -0.0035 %z2 = % 1.0e-14 * % -0.4441 % -0.1554 % -0.0444 % -0.0042 %z2 = % 1.0e-14 * % -0.7994 % -0.2776 % -0.0833 % -0.0028 %z2 = % 1.0e-13 * % -0.3103 % -0.0600 % -0.0122 % -0.0033 %z3 = % -7.1054e-15 trace check