I am solving a problem that involves multiple combinations of spring mass damper systems. When I run a single for loop, the code runs perfectly, however the nested for loops will not run. I am not receiving any errors. The code is just incapable of solving the ode45 function. Any tips on how I can remedy this issue?
%% Project Parameters
%{
Isolation mats use 5% of the floor area (A_mat=.05A)
%}
clc,clear
time=linspace(0,3,5001); %Time in seconds
A = (8*12*.0254)^2; %Area of floor
A_mat = .05*A; %Area of mat
m_plywood = (1200)*(A)*(3*.0254); %Mass of plywood
m = 550/9.81; %Mass of runner
m0 = 1e-3*min([m_plywood m]); %Mass seperating isolation mats
m=158.757; % kg of person and weight
% impact velocity is 4.89 m/s for 200 lb object dropped from 48 inches
% by impulse momentum theorem, we have ( 90.7 kg )*( 4.89 m/s) = ( M=158.757 kg ) * ( inital velocity )
% solving for initial velocity, we get 2.7937 m/s
xdot0=90.7*4.89/158.757; % 2.7937 m/s initial velocity of floor
%Parameters for rubber mat
m_rubber = (1800)*A*(1*.0254); %Rubber mat mass
k_rubber = (12e6)*A/(1*.0254); %Rubber mat stiffness
zeta_rubber = .08; %Rubber mat damping ratio
c_rubber = zeta_rubber*2*sqrt(k_rubber*m_rubber); %Rubber mat damping coefficient
%Parameters for SPX
m_spx = (1200)*A_mat*(1*.0254); %SPX mat mass
k_spx = (1e6)*A/(1*.0254); %SPX mat stiffness
zeta_spx = .08; %SPX mat damping ratio
c_spx = zeta_spx*2*sqrt(k_spx*m_spx); %SPX mat damping coefficient
%Parameters for DMP
m_dmp = (1500)*A_mat*(1*.0254); %DMP mat mass
k_dmp = (10e6)*A/(1*.0254); %DMP mat stiffness
zeta_dmp = .22; %DMP mat damping ratio
c_dmp = zeta_dmp*2*sqrt(k_dmp*m_dmp); %DMP mat damping coefficient
%Parameters for FRX
m_frx = (1800)*A_mat*(1*.0254); %FRX mat mass
k_frx = (8e6)*A/(1*.0254); %FRX mat stiffness
zeta_frx = .15; %FRX mat damping ratio
c_frx = zeta_frx*2*sqrt(k_frx*m_frx); %FRX mat damping coefficient
%Parameters for BPX
m_bpx = (1200)*A_mat*(1*.0254); %BPX mat mass
k_bpx = (6e6)*A/(1*.0254); %BPX mat stiffness
zeta_bpx = .06; %BPX mat damping ratio
c_bpx = zeta_bpx*2*sqrt(k_bpx*m_bpx); %BPX mat damping coefficient
k = [k_bpx, k_frx, k_dmp, k_spx]'; %Setting stiffness vector to loop through
c = [c_bpx, c_frx, c_dmp, c_spx]'; %Setting damping vector to loop through
%% Dynamic System Modeling, Scenario 1: 1 inch of ioslation mats
clc
for j = 1:length(k)
[t,y1]=ode45(@(t,z)[z(2); ...
k_rubber/m_plywood*z(3)+c_rubber/m_plywood*z(4)-(c_rubber+c(j))/m_plywood*z(2)-(k_rubber+k(j))/m_plywood*z(1); ...
z(4); ...
c_rubber/m*z(2)+k_rubber/m*z(1)-c_rubber/m*z(4)-k_rubber/m*z(3)],time,[0;xdot0;0;0]);
end
%% Dynamic System Modeling, Scenario 2: 2 inches of isolation mats
clc
for j = 1:length(k)
for jj = 1:length(k)
[t,y2]=ode45(@(t,z)[z(2); ...
c(jj)/m0*z(4)+k(jj)/m0*z(3)-(c(jj)+c(j))/m0*z(2)-(k(jj)+k(j))/m0*z(2); ...
z(4); ...
c_rubber/m_plywood*z(6)+k_rubber/m_plywood*z(5)-(c_rubber+c(jj))/m_plywood*z(4)-(k_rubber+k(jj))/m_plywood*z(3); ...
z(6); ...
c_rubber/m*z(4)+k_rubber/m*z(3)-c_rubber/m*z(6)-k_rubber/m*z(5); ...
],[0:15],[0;xdot0;0;0;0;0]);
end
end
%% Dynamic System Modeling, Scenario 3: 3 inches of isolation mats
clc
for j = 1:length(k)
for jj = 1:length(k)
for jjj = 1:length(k)
[t,y3]=ode45(@(t,z)[z(2); ...
c(jj)/m0*z(4)+k(jj)/m0*z(3)-(c(jj)+c(j))/m0*z(2)-(k(jj)+k(j))/m0*z(1); ...
z(4); ...
c(jjj)/m0*z(6)+k(jjj)/m0*z(5)-(c(jjj)+c(jj))/m0*z(4)-(k(jjj)+k(jj))/m0*z(3); ...
z(6); ...
c_rubber/m_plywood*z(8)+k_rubber/m_plywood*z(7)-(c_rubber+c(jjj))/m_plywood*z(6)-(k_rubber+k(jjj))/m_plywood; ...
z(8); ...
c_rubber/m*z(6)+k_rubber/m*z(5)-c_rubber/m*z(8)-k_rubber/m*z(7); ...
],time,[0;xdot0;0;0;0;0;0;0]);
end
end