MATLAB 编程/半对数
外观
请注意,此页面是 ControlTheoryPro.com 上关于 semilogx/y 命令的页面的副本。
semilogx 或 semilogy 命令绘制数据,其中 1 个轴为线性,另一个轴为对数刻度。semilogx 命令在对数刻度上绘制 x 轴上的数据。对于控制,这在手动创建 伯德图 时特别有用。
MATLAB 伯德图非常方便,但当需要格式化绘图时,bode 命令会使此操作变得困难。因此,本文作者 (Gabe 13:30, 20 April 2008 (CDT)) 使用以下命令创建伯德图
freqVec = logspace(-1, 3, 5000);
[mag, phs] = bode(sys, freqVec * (2*pi));
mag = db(mag(:));
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)')