>> 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