Untitled
unknown
matlab
2 years ago
1.7 kB
9
Indexable
clear all
close all
% Define the frequency ratio values (between 0 and 3 as per assignment
FreqRatio=linspace(0,3,5000);
% Define values for damping ratio (zeta)
zeta=[0.01 0.1 0.2 0.7 1];
% Plot deformation response factor (Rd) for different zeta values
for k = 1:length(zeta)
Rd = abs(1./(1-FreqRatio.^2+i*2*zeta(k)*FreqRatio));
% Plot Rd for each zeta
figure(1)
plot(FreqRatio,Rd)
axis([0 3 0 5])
hold on
end
xlabel('Frequency ratio \omega / \omega_{n}')
ylabel('Deformation response factor, \it{R_d = u_0 / (u_{st})_0}')
xline(1, 'HandleVisibility','off') % Vertical line at FreqRatio = 1
yline(1, 'HandleVisibility','off') % Horizontal line at Rd = 1
legend('\zeta=0.01', '\zeta=0.1', '\zeta=0.2', '\zeta=0.7', '\zeta=1')
% Plot phase angle (phi) for different zeta values
for j=1:length(zeta)
phi=angle((1-FreqRatio.^2+i*2*zeta(j)*FreqRatio))*180/pi; % Calculate phi in degrees to get the right scale
% Plot phi for each zeta
figure(2)
plot(FreqRatio,phi)
axis([0 3 0 180])
hold on
end
xlabel('Frequency ratio \omega / \omega_{n}')
ylabel('Phase angle \phi')
xline(1, 'HandleVisibility','off') % Vertical line at FreqRatio = 1
yline(90, 'HandleVisibility','off') % Horizontal line at phi = 90 degrees
legend('\zeta=0.01', '\zeta=0.1', '\zeta=0.2', '\zeta=0.7', '\zeta=1')
% Determine vibration amplitude
zeta=0.05;
omega=10*2*pi;
e=0.002; % From lecture 2
k=2.25e6; % From lecture 2
mr=250; % From lecture 2
m=814; % From lecture 2
omega_n=sqrt(k/m); % Natural circular frequency
p0=mr*e*omega^2;
% Calculate dynamic amplitude u0
u0=(p0/k)*abs(1/(1-(omega/omega_n)^2+i*2*zeta*(omega/omega_n))) % Dynamic amplitudide
Editor is loading...
Leave a Comment