鱼C论坛

 找回密码
 立即注册
查看: 7161|回复: 9

[已解决]如何用matlab 画幅频特性曲线和相频特性曲线

[复制链接]
发表于 2023-7-31 20:41:13 | 显示全部楼层
要用Matlab画幅频特性曲线和相频特性曲线,需要按照以下步骤进行:

1. 创建频率向量:首先,你需要创建一个频率向量,它将用于计算系统的频率响应。可以使用 logspace 函数来创建一个对数均匀分布的频率向量。

2. 计算幅频特性:将频率向量代入系统传递函数的表达式,然后计算得到系统的幅频特性。在这个例子中,已知系统传递函数为H(jω) = jω (其中j是虚数单位),所以幅频特性为|H(jω)| = |jω|。

3. 计算相频特性:同样,将频率向量代入系统传递函数的表达式,计算得到系统的相频特性。在这个例子中,相频特性为∠H(jω) = ∠(jω) = arctan(ω)。

4. 绘制曲线:使用Matlab的plot函数,将频率向量与幅频特性、相频特性分别作为x轴和y轴数据进行绘制。

下面是用Matlab代码实现以上步骤的例子:

  1. % 步骤1:创建频率向量
  2. frequencies = logspace(log10(0.1), log10(10), 1000); % 在频率范围内均匀取样

  3. % 步骤2:计算幅频特性
  4. amplitude = abs(1j * frequencies); % 计算幅频特性,此处传递函数为 H(jω) = jω

  5. % 步骤3:计算相频特性
  6. phase = angle(1j * frequencies); % 计算相频特性,此处传递函数为 H(jω) = jω

  7. % 步骤4:绘制幅频特性曲线
  8. figure;
  9. semilogx(frequencies, amplitude, 'b', 'LineWidth', 2);
  10. xlabel('频率 (Hz)');
  11. ylabel('幅度');
  12. title('幅频特性曲线');
  13. grid on;

  14. % 绘制相频特性曲线
  15. figure;
  16. semilogx(frequencies, phase, 'r', 'LineWidth', 2);
  17. xlabel('频率 (Hz)');
  18. ylabel('相位 (弧度)');
  19. title('相频特性曲线');
  20. grid on;
复制代码


运行以上Matlab代码,你将会得到两个图形窗口,分别显示幅频特性曲线和相频特性曲线。幅频特性图形将显示出在频率范围内,系统的幅值如何随频率变化,相频特性图形将显示出在频率范围内,系统的相位如何随频率变化。

希望这可以帮助你绘制幅频特性曲线和相频特性曲线。如果有其他问题,请随时向我询问!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-24 03:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表