How to convert SDOF system to MDOF system of Nonlinear Dynamic analysis of a building
6 次查看(过去 30 天)
显示 更早的评论
Please, anyone help me.
4 个评论
Alan Stevens
2022-4-19
You need to provide more detail! Upload your code for the SDOF building. Specify exactly how you want to extend it - for example: to lateral as well as vertical movement? - for extra floors? - etc.
回答(1 个)
Sam Chak
2022-4-21
I'm not a certified Building Dynamicist. But if the equations of motion of a 4-storey building can described like this:
, with , such that
, where
function dxdt = f(t, x)
dxdt = zeros(8,1);
m1 = 4000; % kg
m2 = m1;
m3 = m2;
m4 = m3;
k1 = 5000; % N/m
k2 = k1;
k3 = k2;
k4 = k3;
% Mass matrix
M = diag([m1, m2, m3, m4]);
% Stiffness matrix
K = [k1+k2 -k2 0 0; -k2 k2+k3 -k3 0; 0 -k3 k3+k4 -k4; 0 0 -k4 k4];
% Viscous damping matrix
C = K/1e1;
% State Matrix
A = [zeros(length(M)) eye(length(M)); -M\K -M\C];
dxdt = A*x;
end
then you can solve the system using ode45 solver
tspan = [0 30]; % time span of simulation
x0 = [0.01 0.1 0.2 0.25 0 0 0 0]; % initial displacement with zero velocity
[t, x] = ode45(@(t,x) f(t, x), tspan, x0);
plot(t, x(:, 1:4), 'linewidth', 1.5)
grid on
xlabel('Time, t [sec]')
ylabel({'$x_{1},\; x_{2},\; x_{3},\; x_{4}$'}, 'Interpreter', 'latex')
title('Displacements of the building storeys')
legend({'$x_{1}$', '$x_{2}$', '$x_{3}$', '$x_{4}$'}, 'Interpreter', 'latex', 'location', 'best')
Results:
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Multibody Modeling 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!