matlab画动力放大系数曲线
时间: 2025-02-28 20:33:20 浏览: 56
### 如何使用 MATLAB 绘制动力放大系数曲线
#### 创建传递函数模型
为了绘制动力放大系数曲线,通常先要建立系统的传递函数模型。假设有一个二阶系统:
\[ H(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_ns + \omega_n^2} \]
其中 \( \omega_n \) 是自然频率,\( \zeta \) 是阻尼比。
```matlab
% 定义参数
wn = 10; % 自然频率 (rad/s)
zeta = 0.05;% 阻尼比
% 构建传递函数
num = wn^2;
den = [1, 2*zeta*wn, wn^2];
sys = tf(num, den);
```
#### 计算并绘制频响特性图
利用 `bode` 函数可以直接得到Bode图,其中包括幅值响应即所谓的“动力放大系数”。
```matlab
figure;
bode(sys);
title('动力放大系数曲线');
grid on;
```
此命令会自动生成包含相位角和增益(dB单位表示的动力放大系数)随频率变化的关系图表[^1]。
对于更详细的定制化绘图需求,比如只显示幅度部分而不含相位信息,则可以通过如下方式实现:
```matlab
[mag, phase, wout] = bode(sys);
figure;
subplot(2,1,1);
semilogx(wout, mag);
ylabel('|H(jω)|');
xlabel('Frequency (rad/sec)');
title(['Magnitude Response of ', latex(tf(num, den))]);
grid;
subplot(2,1,2);
semilogx(wout, db(mag));
ylabel('Magnitude (dB)');
xlabel('Frequency (rad/sec)');
title('Power Magnitude Response in dB Scale');
grid;
```
上述代码片段不仅展示了如何提取特定的数据点用于进一步分析,还提供了两种不同尺度下的动力放大系数展示形式——线性和分贝刻度[^2]。
阅读全文
相关推荐


















