Professional Documents
Culture Documents
m^2)
b = 0.1; % Friction coefficient (N.m.s)
Ke_dc = 0.01; % Electromotive force (V/rad/sec)
Kt_dc = 0.01; % Motor torque constant (N.m/A)
R_dc = 1; % Resistance (Ohm)
L_dc = 0.5; % Inductance (H)
figure;
subplot(2, 1, 1);
semilogx(frequency_dc, 20*log10(magnitude_dc(:)));
title('Frequency Response - Magnitude');
xlabel('Frequency (rad/sec)');
ylabel('Magnitude (dB)');
grid on;
subplot(2, 1, 2);
semilogx(frequency_dc, phase_dc(:));
title('Frequency Response - Phase');
xlabel('Frequency (rad/sec)');
ylabel('Phase (degrees)');
grid on;
1
time_impulse_dc = 0:0.01:5;
impulse_response_dc = impulse(system_ss, time_impulse_dc);
figure;
plot(time_impulse_dc, impulse_response_dc);
title('Impulse Response');
xlabel('Time (seconds)');
ylabel('Amplitude');
grid on;
2
time_step_dc = 0:0.01:5;
step_response_dc = step(system_ss, time_step_dc);
figure;
plot(time_step_dc, step_response_dc);
title('Step Response');
xlabel('Time (seconds)');
ylabel('Amplitude');
grid on;
3
time_ramp_dc = 0:0.01:5;
ramp_response_dc = lsim(system_ss, time_ramp_dc, time_ramp_dc);
figure;
plot(time_ramp_dc, ramp_response_dc);
title('Ramp Response');
xlabel('Time (seconds)');
ylabel('Amplitude');
grid on;
4
disp('Motor Characteristics:');
Motor Characteristics:
State Matrix A:
disp(A_matrix);
0 1.0000 0
0 -10.0000 1.0000
0 -0.0200 -2.0000
Input Matrix B:
disp(B_matrix);
0
0
2
Output Matrix C:
disp(C_matrix);
1 0 0
5
disp(['Direct Transmission Matrix D:']);
disp(D_matrix);
disp(['Eigenvalues (Poles):']);
Eigenvalues (Poles):
disp(poles_dc_system);
0
-9.9975
-2.0025
disp(['Gain Analysis:']);
Gain Analysis:
disp(gain_DC);
NaN
if size(damping_dc_info, 2) > 1
disp(['Natural Frequency (rad/sec): ', num2str(damping_dc_info(:, 2)')]);
else
disp('Natural Frequency information not available.');
end
Zeros:
6
disp(['Settling Time (sec): ', num2str(step_info_dc.SettlingTime)]);
Frequency (rad/sec): 0.1 0.1072267 0.1149757 0.1232847 0.1321941 0.1417474 0.1519911 0.1
disp(['Impulse Response:']);
Impulse Response:
Time (sec): 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08
Amplitude: 0 9.6101e-05 0.00036959 0.00079989 0.0013685 0.0020586 0.0028552 0.0037448 0.0047152 0.005
disp(['Step Response:']);
Step Response:
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
disp(['Ramp Response:']);
Ramp Response:
7
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