I'm getting a blank graph.
Show older comments
I have a 4DOF, forced, damped linearized system. I trying to calculate the the forced response of the system. I'm getting the numerical values, I have checked this by printing the matrices. But I'm getting a blank graph. Below is the code I have written.
function forcedResponse
kxx = 200e6;
kyy = 150e6;
kxy = 15e6;
kyx = 10e6;
cxx = 200e3;
cyy = 150e3;
cyx = 13e3;
cxy = 18e3;
l = 1;
d = 0.05;
rho = 7800;
ez = 0.001;
e = 0.0001;
m = 0.25*pi*d^2*l*rho;
Id = (m/12)*(0.75*d^2 + l^2);
M = [m 0 0 0
0 m 0 0
0 0 Id 0
0 0 0 Id];
C = [2*cxx 2*cxy 0 0
2*cyx 2*cyy 0 0
0 0 0.5*l^2*cxx 0.5*l^2*cxy
0 0 0.5*l^2*cyx 0.5*l^2*cyy];
K = [2*kxx 2*kxy 0 0
2*kyx 2*kyy 0 0
0 0 0.5*l^2*kxx 0.5*l^2*kxy
0 0 0.5*l^2*kyx 0.5*l^2*kyy];
hold on;
for w = 1:10 % w is angular speed
D = -w^2*M + 1i*w*C + K % D is 4by4 matrix, M is mass matrix, C is damping matrix, K is stiffness matrix
Fx = m*e*w^2;
Fy = -1i*m*e*w^2;
Mxz = m*e*w^2*ez;
Myz = -1i*m*e*w^2*ez;
F = [Fx; Fy; Mxz; Myz]; %force amplititude. It's 4by1 vector
X = D\F; %displacement amplitude. contains complex elements
plot(w,abs(X(1)))
end
xlabel('spin speed (rad/s)'), ylabel('Amplitude of translational displacement (m)')
title('X v \omega')
end
Accepted Answer
More Answers (0)
Categories
Find more on Control System Toolbox 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!