Clear Filters
Clear Filters

How to convert SDOF system to MDOF system of Nonlinear Dynamic analysis of a building

13 views (last 30 days)
Please, anyone help me.
Alan Stevens
Alan Stevens on 19 Apr 2022
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.

Sign in to comment.

Answers (1)

Sam Chak
Sam Chak on 21 Apr 2022
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;
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')
  1 Comment
Chaudhary P Patel
Chaudhary P Patel on 21 Apr 2022
thank you so much@Sam Chak sir,
but sir i want to nonlinear analysis of MDOF system, for that the SDOF system i already shared.
i just want to know how can i convert it into MDOF system.
Please help me if possible or refers me to some building experts.

Sign in to comment.


Find more on Programming in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!