How to convert SDOF system to MDOF system of Nonlinear Dynamic analysis of a building
Mostrar comentarios más antiguos
Please, anyone help me.
4 comentarios
I tried searching "SDOF()" and "MDOF()" in the Documentation, but there are no such functions.
Are they newly-added functions in the latest MATLAB release? If you wrote those functions and need help for invesgation, please post the MATLAB code so that people understand your question well.
Is your question technically related to MATLAB?
Are you using specific toolboxes to solve the conversion problem in your Nonlinear Dynamical System?
Who are your target specific audiences with your question related to "SDOF" and "MDOF" in MATLAB? For example, are you looking for a Building Dynamicist, who may understand the abbreviations of "SDOF" and "MDOF"?
Chaudhary P Patel
el 19 de Abr. de 2022
Alan Stevens
el 19 de Abr. de 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.
Chaudhary P Patel
el 21 de Abr. de 2022
Respuestas (1)
Sam Chak
el 21 de Abr. de 2022
I'm not a certified Building Dynamicist. But if the equations of motion of a 4-storey building can described like this:
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:

1 comentario
Chaudhary P Patel
el 21 de Abr. de 2022
Categorías
Más información sobre Programming en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!