Untitled

 avatar
unknown
matlab
a year ago
1.7 kB
5
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