MATLAB编程-简介
完成条件
注意
本页内容为 ControlTheoryPro.com 网站上关于 semilogx
/semilogy
命令页面的复制内容。
简介(Introduction)
semilogx
或 semilogy
命令用于绘制一轴为线性刻度、另一轴为对数刻度的数据图。
-
semilogx
:将 x 轴 设置为对数刻度,y 轴为线性刻度。 -
semilogy
:将 y 轴 设置为对数刻度,x 轴为线性刻度。
在控制系统中,这在手动绘制波特图(Bode Plot)时特别有用。
波特图示例(Bode Plots)
虽然 MATLAB 提供了非常方便的 bode
命令来绘制波特图,但在需要自定义图像格式时,使用 bode
命令会受到限制。因此,作者(Gabe 于 2008 年 4 月 20 日 13:30 CDT)建议使用如下方法手动绘制波特图:
freqVec = logspace(-1, 3, 5000); % 创建频率向量(0.1 Hz 到 1000 Hz)
[mag, phs] = bode(sys, freqVec * (2*pi)); % 计算系统的幅值和相位响应(单位为 rad/s)
mag = db(mag(:)); % 将幅值转换为分贝 (dB)
phs = phs(:); % 展平相位向量
figure;
subplot(2, 1, 1) % 第一个子图:幅频图
semilogx(freqVec, mag)
grid on
title('System Bode Plot')
ylabel('Magnitude (dB)')
subplot(2, 1, 2) % 第二个子图:相频图
semilogx(freqVec, phs)
grid on
ylabel('Phase (deg)')
xlabel('Frequency (Hz)')
外部链接(External Links)
最后修改: 2025年04月16日 星期三 10:11