example 8.10 Eigenvalue analysis p.195

mm = DiagonalMatrix[{20, 6, 9}];
MatrixForm[mm]
kk = {{80, -60, 0}, {-60, 78, -18}, {0, -18, 
            36}};
MatrixForm[kk]

{ωn2, ϕt} = 
        Eigensystem[ Inverse[mm] . kk];
ωn2
ωn = Sqrt[ωn2]
ϕ = Transpose[ϕt];
MatrixForm[ϕ]

Modal parameters

mms = ϕt . mm . ϕ
ms = Table[mms[[i, i]], {i, 3}]

kks = ϕt . kk . ϕ

Inverse[mms] . kks

b = {1, 0, 0};    

    c = {0, 0, 1} ;

bs = ϕt . b
cs = c . ϕ

Transfer function  y/u=G(s)

gg = c . Inverse[mm s^2 + kk] . b
Apart[%]

gs = cs bs/ms/(s^2 + ωn^2)

example 8.11   Modal damping parameter  p. 199

dd = {{10, 0, 0}, {0, 0, 0}, {0, 0, 3}}   
dds = ϕt . dd . ϕ
ds = Table[dds[[i, i]], {i, 3}]

ζ = ds/ms/2. /ωn

gsζ = (cs bs/
              ms/(s^2 + 
                2 ζ ωn s + ωn^2))

zu1 = 
      Plot[Evaluate[
          1000 Abs[gsζ /. s ->  I ω]], {ω, 0, 5}, 
        GridLines ->  Automatic, 
        PlotRange ->  {0, 60}]

ggd = c . Inverse[mm s^2 + dd s + kk] . b
zu2 = 
      Plot[1000 Abs[ggd /. s ->  I ω], {ω, 0, 5}, 
        PlotStyle ->  Hue[0.9]]

ap = 
        1000 Abs[
            cs bs/(ms ωn2 )/(2 ζ)];
peak = 
      Table[{ωn[[i]], ap[[i]]}, {i, 
          3}]
zu3 = ListPlot[peak, PlotStyle ->  PointSize[0.05] ]

Show[zu1, zu2, zu3]

example 8.12    Impluse  p.201

InverseLaplaceTransform[gsζ, s, t]
gt = 1000 {1, 1, 1} . %;
Plot[gt, {t, 0, 20}, PlotRange ->  {-25, 25}]

T = 200; n = 1024; Δt =  T/n; 
    te =  T - T/n;
dat = Table[gt, {t, 0, te, Δt}];

dft = 2  Fourier[dat]/Sqrt[n];
dft[[1]] = dft[[1]]/2;
fft = 
        Table[{2 π (i - 1)/T, 
            20 Log[10, Abs[dft][[i]]]}, {i, n}];

fig0 = 
      ListPlot[fft, PlotRange ->  {{0, 5}, {-40, 10}}, 
        PlotJoined ->  True, GridLines ->  Automatic]