Professional Documents
Culture Documents
% State-space
ss_system = ss(Mtrx_A, Mtrx_B, Mtrx_C, Mtrx_D);
poles_system = eig(Mtrx_A);
% 1. Gain
gain_AC = Mtrx_C * inv(-Mtrx_A) * Mtrx_B + Mtrx_D;
figure;
subplot(2, 1, 1);
semilogx(freq, 20*log10(magnitude(:)));
title('Frequency Response - Magnitude');
xlabel('Frequency (rad/sec)');
ylabel('Magnitude (dB)');
grid on;
subplot(2, 1, 2);
1
semilogx(freq, phase_angle(:));
title('Frequency Response - Phase');
xlabel('Frequency (rad/sec)');
ylabel('Phase (degrees)');
grid on;
% 6. Impulse Reaction
time_impulse = 0:0.01:5;
impulse_reaction = impulse(ss_system, time_impulse);
figure;
plot(time_impulse, impulse_reaction);
title('Impulse Reaction');
xlabel('Time (seconds)');
ylabel('Amplitude');
grid on;
2
% 7. Step Reaction
time_step = 0:0.01:5;
step_reaction = step(ss_system, time_step);
figure;
plot(time_step, step_reaction);
title('Step Reaction');
xlabel('Time (seconds)');
ylabel('Amplitude');
grid on;
3
% 8. Ramp Reaction
time_ramp = 0:0.01:5;
ramp_reaction = lsim(ss_system, time_ramp, time_ramp);
figure;
plot(time_ramp, ramp_reaction);
title('Ramp Reaction');
xlabel('Time (seconds)');
ylabel('Amplitude');
grid on;
4
% Information Display
disp('Machine Properties:');
Machine Properties:
System Matrix A:
disp(Mtrx_A);
0 1.0000 0
0 -10.0000 1.0000
0 -0.0200 -2.0000
Input Matrix B:
disp(Mtrx_B);
0
0
2
Output Matrix C:
5
disp(Mtrx_C);
1 0 0
disp(Mtrx_D);
disp(['Eigenvalues (Poles):']);
Eigenvalues (Poles):
disp(poles_system);
0
-9.9975
-2.0025
% 1. Gain Analysis
disp(['Gain Analysis:']);
Gain Analysis:
disp(gain_AC);
NaN
if size(damping_info, 2) > 1
disp(['Natural Frequency (rad/sec): ', num2str(damping_info(:, 2)')]);
else
disp('Natural Frequency information not available.');
end
6
disp(['Poles: ', num2str(poles_system')]);
Zeros:
Frequency (rad/sec): 0.1 0.1072267 0.1149757 0.1232847 0.1321941 0.1417474 0.1519911 0.1
% 6. Impulse Reaction
disp(['Impulse Reaction:']);
Impulse Reaction:
Time (sec): 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08
7
Amplitude: 0 9.6101e-05 0.00036959 0.00079989 0.0013685 0.0020586 0.0028552 0.0037448 0.0047152 0.005
% 7. Step Reaction
disp(['Step Reaction:']);
Step Reaction:
Time (sec): 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08
Amplitude: 0 3.2354e-07 2.5131e-06 8.2378e-06 1.8972e-05 3.6012e-05 6.0498e-05 9.3426e-05 0.00013566 0.0001
% 8. Ramp Reaction
disp(['Ramp Reaction:']);
Ramp Reaction:
Time (sec): 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08
Amplitude: 0 8.1367e-10 1.2715e-08 6.2881e-08 1.9419e-07 4.6335e-07 9.3926e-07 1.7015e-06 2.8388e-06 4.4483