环境: matlab 2020b 的实时编辑器
使用bodeplot 命令绘制伯德图,使用 "legend" 命令 添加标签时遇到困难,希望获得帮助。
代码如下:
wc = [1,10,20];kp = 1;kr = 10;wr = 100*pi;
p7 = bodeoptions;p7.XLim = {[1 1000]};p7.YLim = {[0 25];[-90 90]};p7.Gri='on';p7.FreqUnits='Hz';
for i = 1:length(wc)
num7 = [kp 2*wc(i)*(kp+kr) kp*wr^2];den7 = [1 2*wc(i) wr^2];
sys7 = tf(num7,den7);
bodeplot(sys7,p7)
hold on
end
hold off
lgd7 = legend('\[{w_c} = 1{\rm{ }}rad/s\]','\omega{_c} = 10 rad/s','\omega{_c} = 20 rad/s')
set(lgd7,'Interpreter','latex')
希望能够得到如下图所示的标签:
图1 想要的标签格式
想要的标签格式有如下要求:
(1)内容相同(指有下标)
(2)标签位置在幅频图的右上角
代码运行后出现了两处警告,分别是:
图2 警告1
图3 警告2
图3中 1 为使用mathtype 7 编辑公式后复制得到。
代码运行的结果如下:
图4 运行结果
图1 想要的结果
对比图1和图4运行结果有两处问题:
(1)标签内容的 格式 不正确
(2)标签位置在相频图的右上角。
现在遇到的困难是:
(1)关于标签的位置,已知可以使用鼠标移动到幅频图的右上角,但希望通过代码实现。
(2)怎样使标签的格式正确
提前感谢指教!