matlab画二阶系统不同阻尼比的幅频、相频特性曲线
时间: 2023-06-01 12:04:30 浏览: 650
由于问题不明确,以下提供基本步骤供参考:
1. 定义二阶系统的参数:角频率ω,阻尼比ζ,增益K。
2. 计算二阶系统的传递函数:H(s) = K/(s^2 + 2ζωs + ω^2)。
3. 利用MATLAB中的freqs函数计算幅频特性曲线和相频特性曲线。
4. 绘制幅频特性曲线和相频特性曲线。
下面是一个示例代码,其中二阶系统的角频率为10,增益为1,阻尼比分别为0.1、0.5和0.9:
```
% 定义二阶系统的参数
w = 10; % 角频率
K = 1; % 增益
% 计算不同阻尼比的传递函数
zeta1 = 0.1; % 阻尼比为0.1
H1 = tf(K, [1 2*zeta1*w w^2]);
zeta2 = 0.5; % 阻尼比为0.5
H2 = tf(K, [1 2*zeta2*w w^2]);
zeta3 = 0.9; % 阻尼比为0.9
H3 = tf(K, [1 2*zeta3*w w^2]);
% 计算幅频特性曲线和相频特性曲线
w_range = logspace(-1, 2, 1000); % 频率范围
[mag1, phase1, wout1] = bode(H1, w_range);
[mag2, phase2, wout2] = bode(H2, w_range);
[mag3, phase3, wout3] = bode(H3, w_range);
% 绘制幅频特性曲线
figure;
semilogx(wout1, 20*log10(mag1), 'r', 'LineWidth', 2);
hold on;
semilogx(wout2, 20*log10(mag2), 'g', 'LineWidth', 2);
semilogx(wout3, 20*log10(mag3), 'b', 'LineWidth', 2);
grid on;
xlabel('Frequency (rad/s)');
ylabel('Magnitude (dB)');
legend('\zeta=0.1', '\zeta=0.5', '\zeta=0.9');
title('Bode Plot - Magnitude');
% 绘制相频特性曲线
figure;
semilogx(wout1, phase1, 'r', 'LineWidth', 2);
hold on;
semilogx(wout2, phase2, 'g', 'LineWidth', 2);
semilogx(wout3, phase3, 'b', 'LineWidth', 2);
grid on;
xlabel('Frequency (rad/s)');
ylabel('Phase (deg)');
legend('\zeta=0.1', '\zeta=0.5', '\zeta=0.9');
title('Bode Plot - Phase');
```
运行以上代码,将会得到二阶系统不同阻尼比的幅频、相频特性曲线。
阅读全文