Matlab 如何在同一图形中绘制两个对数图

Matlab 如何在同一图形中绘制两个对数图,matlab,plot,Matlab,Plot,我想取两个对数图,比较一个叠加在另一个上。对于线性图,我可以使用 图形 等等 绘图(第一) 绘图(第二) 它们是一个接一个地标出来的。(如预期) 但是,如果我使用对数图,比如说BODE图,当我使用“保持”命令时,它会将x轴更改为线性,并且会丢失x轴上的对数刻度。 下面是示例代码 figure; hold on; semilogx(omega,20*log10(abs(c_Hs)),'r'); % transfer function #1 semilogx(omega,20*log10(abs(

我想取两个对数图,比较一个叠加在另一个上。对于线性图,我可以使用 图形 等等 绘图(第一) 绘图(第二) 它们是一个接一个地标出来的。(如预期)

但是,如果我使用对数图,比如说BODE图,当我使用“保持”命令时,它会将x轴更改为线性,并且会丢失x轴上的对数刻度。
下面是示例代码

figure;
hold on;
semilogx(omega,20*log10(abs(c_Hs)),'r');  % transfer function #1
semilogx(omega,20*log10(abs(c_HsR)),'b');  % Transfer function #2

那么,如何防止“保持”将对数刻度更改为线性??

保持
figure;
semilogx(omega,20*log10(abs(c_Hs)),'r');  % transfer function #1
hold on;
semilogx(omega,20*log10(abs(c_HsR)),'b');  % Transfer function #
或将两组数据传递给绘图功能:

figure;
semilogx(omega,20*log10(abs(c_Hs)),'r',omega,20*log10(abs(c_HsR)),'b');