matlab画相频特性曲线
时间: 2023-05-26 10:04:41 浏览: 79
要画出一个系统的相频特性曲线,我们需要以下步骤:
1. 计算系统的传递函数 H(s),其中 s 是频率复变量。
2. 构造一组频率向量 f,从 $10^{-3}$Hz 到 $10^{3}$Hz。
3. 计算 H(s) 在这些频率下的幅度和相位,即:
- $|H(s)|=\sqrt{Re(H(s))^2+Im(H(s))^2}$
- $\angle H(s)=\tan^{-1}\frac{Im(H(s))}{Re(H(s))}$
4. 用 MATLAB 的 plot() 函数分别画出幅度和相位对频率的曲线。
以下是一段 MATLAB 代码,用于画出相频特性曲线:
```matlab
% 定义传递函数
num = [1, 2, 1]; % 分子系数
den = [1, 0.2, 1]; % 分母系数
H = tf(num, den);
% 构造频率向量
f = logspace(-3, 3, 1000);
% 计算幅度和相位
[mag, phase] = bode(H, 2 * pi .* f); % 将频率转化为弧度
% 画图
subplot(2, 1, 1);
loglog(f, mag); % 幅度图用对数坐标
ylabel('Magnitude (dB)');
grid on;
subplot(2, 1, 2);
semilogx(f, phase); % 相位图用半对数坐标
ylabel('phase (degrees)');
xlabel('Frequency (Hz)');
grid on;
```
这段代码会画出一个二行一列的图形,上面是幅度对频率的曲线,下面是相位对频率的曲线。注意到幅度的 y 轴是 dB,相位的 y 轴是角度(degree),x 轴是频率(Hz),通过选取合适的坐标系,能够更好的观察相频特性曲线的特点。