Forced Vibration
Table of Contents
%%html
<iframe
width="560" height="315" src="https://www.youtube.com/embed/W4s2UwKm7dc" frameborder="0" allowfullscreen>
</iframe>
amplitude: $x_m$
period: T sec
frequency (Hz): $f = \frac{1}{T}$
frequency (rad/sec): $\omega = 2\pi f$
phase angle: $\theta$
f = 1;
w = 2*pi*f;
T = 1/f;
xm = 1;
theta = pi/3;
t = 0:0.01:3*T;
x = xm*cos(w*t + theta);
plot(t,x,t,zeros(size(t)),'k--'), ylim([-1.5 1.5])
note | ||
---|---|---|
1 | sinusoidal $\longrightarrow$ sinusoidal | |
2 | $\omega \longrightarrow \omega$ | input and output rotate with the same $\omega$ |
3 | $\phi = \frac{\pi}{2}$ | output leads input by $\frac{\pi}{2}$ |
4 | $A = \left\lvert \frac{y}{x} \right\rvert = \omega$ | amplitude gain is a function of $\omega$ |
f = 1;
w = 2*pi*f;
T = 1/f;
xm = 1;
theta = pi/3;
t = 0:0.01:3*T;
x1 = xm*exp(1j*w*t);
x2 = xm*exp(1j*(w*t + theta));
plot(t,real(x1),t,real(x2),t,zeros(size(t)),'k--'), ylim([-1.5 1.5])
legend('input','output')
large input $\rightarrow$ large output ?
Swing example
sinusoidal input and sinusoidal output ?
$$
\begin{align*}\left( -\Omega^2 + j 2\zeta \omega_n \Omega + \omega_n^2 \right)Ae^{j\phi} e^{j\Omega t} &= \omega_n^2 \frac{F_0}{k}e^{j \Omega t} \\
Ae^{j\phi} &= \frac{ \omega_n^2 \frac{F_0}{k}}{-\Omega^2 + j 2\zeta \omega_n \Omega + \omega_n^2} = \frac{F_0}{k}\frac{1}{1-\left(\frac{\Omega}{\omega_n}\right)^2 + j 2\zeta \left(\frac{\Omega}{\omega_n}\right)}
\end{align*}$$
$$
\begin{align*}A &= \frac{F_0}{k}\frac{1}{ \sqrt{ \left(1-\left(\frac{\Omega}{\omega_n}\right)^2 \right)^2 + 4\zeta^2 \left(\frac{\Omega}{\omega_n}\right)^2 }} = \frac{F_0}{k}\frac{1}{ \sqrt{ \left(1-\gamma^2 \right)^2 + 4\zeta^2 \gamma^2 }}, \quad \left(\gamma = \frac{\Omega}{\omega_n} \right)\\
\phi &= -\tan^{-1} \left( \frac{2\zeta \frac{\Omega}{\omega_n}}{1-\left(\frac{\Omega}{\omega_n}\right)^2} \right) =-\tan^{-1} \left( \frac{2\zeta \gamma}{1-\gamma^2} \right)
\end{align*}$$
r = 0:0.1:4;
zeta = 0.1:0.2:1;
M = [];
for i = 1:length(zeta)
M(i,:) = 1./sqrt((1-r.^2).^2 + (2*zeta(i)*r).^2); % ignore a constant of F0/k
end
plot(r,M)
xlabel('\gamma','fontsize',16)
ylabel('M','fontsize',14)
legend('0.1','0.3','0.5','0.7','0.9')
phi = [];
for i = 1:length(zeta)
phi(i,:) = -atan2((2*zeta(i).*r),(1-r.^2));
end
plot(r,phi*180/pi)
xlabel('\gamma','fontsize',16)
ylabel('\phi','fontsize',16)
legend('0.1','0.3','0.5','0.7','0.9')
% in time domain
f = 1;
w = 2*pi*f;
F0 = 1;
k = 1;
zeta = 0.2;
r = 3;
M = 1./sqrt((1-r.^2).^2 + (2*zeta*r)^2); % ignore a constant of F0/k
phi = -atan2((2*zeta*r),(1-r^2));
t = 0:0.01:3;
x1 = F0*exp(1j*w*t);
x2 = F0/k*M*exp(1j*(w*t + phi));
plot(t,real(x1),t,real(x2),t,zeros(size(t)),'k--'), ylim([-4 4])
legend('input','output')
%%html
<iframe
width="560" height="315" src="https://www.youtube.com/embed/pjzggPk8DO4?list=PLBD_gON7g_m06aIGNGB3BE_sV2rZdo8wX"
frameborder="0" allowfullscreen></iframe>
%%html
<iframe
width="560" height="315" src="https://www.youtube.com/embed/TYA8C85CdCc?list=PLBD_gON7g_m06aIGNGB3BE_sV2rZdo8wX"
frameborder="0" allowfullscreen></iframe>
%%html
<iframe width="420" height="315"
src="https://www.youtube.com/embed/Mqt_Amkw-0Y" frameborder="0" allowfullscreen></iframe>
%%html
<iframe width="420" height="315"
src="https://www.youtube.com/embed/CzJ8EKi11pU" frameborder="0" allowfullscreen></iframe>
%%html
<iframe
width="420" height="315" src="https://www.youtube.com/embed/lXyG68_caV4" frameborder="0" allowfullscreen></iframe>
%%html
<iframe
width="420" height="315" src="https://www.youtube.com/embed/S9gr4w_U9Qs" frameborder="0" allowfullscreen></iframe>
%%javascript
$.getScript('https://kmahelona.github.io/ipython_notebook_goodies/ipython_notebook_toc.js')