This document defines parameters for a beam and discretizes it into elements. It then assembles the stiffness and mass matrices for the beam based on these parameters and elements. Finally, it calculates the eigenfrequencies and eigenvectors of the system and plots the shapes of the first six vibration modes.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
51 views
Fixed Bem Matlab
This document defines parameters for a beam and discretizes it into elements. It then assembles the stiffness and mass matrices for the beam based on these parameters and elements. Finally, it calculates the eigenfrequencies and eigenvectors of the system and plots the shapes of the first six vibration modes.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1
clear all; close all; clc;
% Define beam parameters
L = 1; % Length of the beam [m] E = 200e9; % Young's modulus of the beam [Pa] rho = 7850; % Density of the beam [kg/m^3] A = 0.1; % Cross-sectional area of the beam [m^2] I = 0.005; % Second moment of inertia of the beam [m^4] n=7; % Discretize the beam into 100 elements dx = L/n; % Length of each element [m] x = 0:dx:L; % Coordinates along the beam [m]
% Assemble the stiffness matrix
K = zeros(n+1,n+1); for i = 2:n K(i,i) = K(i,i) + 24*E*I/dx^3; K(i,i-1) = K(i,i-1) -12*E*I/dx^3; K(i-1,i) = K(i-1,i) - 12*E*I/dx^3; end K(1,1) = K(1,1) + 12*E*I/dx^3; K(n+1,n+1) = K(n+1,n+1) + 12*E*I/dx^3;
% Assemble the mass matrix
M = zeros(n+1,n+1); for i = 2:n M(i,i) = M(i,i) + rho*A*dx*156*2/420; M(i,i-1) = M(i,i-1) + rho*A*dx*54/420; M(i-1,i) = M(i-1,i) + rho*A*dx*54/420; end M(1,1) = M(1,1) + rho*A*dx*156; M(n+1,n+1) = M(n+1,n+1) + rho*A*dx*156/420;
% Calculate the eigenfrequencies and eigenvectors
[V,D] = eig(K,M); [f,ind] = sort(sqrt(diag(D))/(2*pi)); % Convert eigenvalues to frequency [Hz] V=V(:,ind);
% Plot the first 6 modes
for i = 1:6 figure; plot(x,V(:,ind(i))); % title(sprintf('Mode %d: f = %.2f Hz',i,f(i-1))); xlabel('x [m]'); ylabel('Displacement [m]'); end