>> M = [6, 0, 0; 0, 6, 0; 0, 0, 1] * 1000; >> C = [6 -3 0;-3 4 -1; 0 -1 1] * 1e6; >> syms om2; >> As = -om2*M + C >> eq = det(As) >> poly = sym2poly(eq)'
>> om2 = roots(poly) om2 = 1.0e+03 * 1.5000 1.0000 0.1667
>> om2 = sort(om2) om2 = 1.0e+03 * 0.1667 1.0000 1.5000
>> A = -om2(1)*M + C; >> xRest = A(1:end-1, 2:end) \ (-A(1:end-1,1)) xRest = 1.6667 2.0000 >> x = [1; xRest] x = 1.0000 1.6667 2.0000
>> x = null(A) x = -0.3586 -0.5976 -0.7171
>> x = x/x(1) x = 1.0000 1.6667 2.0000
>> M = [6, 0, 0; 0, 6, 0; 0, 0, 1] * 1000; >> C = [6 -3 0;-3 4 -1; 0 -1 1] * 1e6;
>> [Phi, om2] = eig(C,M);
Phi = 0.0061 -0.0082 -0.0079 0.0102 -0.0000 0.0079 0.0122 0.0245 -0.0158
om2 = 1.0e+03 * 0.1667 0 0 0 1.0000 0 0 0 1.5000
>> om = diag(sqrt(om2)) om = 12.9099 31.6228 38.7298
>> nn = diag(1./Phi(1,:)); >> Phi = Phi*nn Phi = 1.0000 1.0000 1.0000 1.6667 0.0000 -1.0000 2.0000 -3.0000 2.0000