How to convert SDOF system to MDOF system of Nonlinear Dynamic analysis of a building
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Please, anyone help me.
4 Kommentare
Alan Stevens
am 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.
Antworten (1)
Sam Chak
am 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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/971935/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/971940/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/971945/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/971950/image.png)
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/971955/image.png)
Siehe auch
Kategorien
Mehr zu Multibody Modeling finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!