简短的问题:我怎样才能对图中某些波特图进行传说?以下不起作用:
figure;
hold on;
h1=bodeplot(1/tf('s'));
h2=bodeplot(12/tf('s'));
legend(h1,'1/s');
编辑/背景:我的脚本中有一个循环,它绘制了50个相同颜色(蓝色)的波特图,以显示植物如何偏离。然后我想在图表中绘制一些上部(红色)和下部(绿色)边界以及平均值(黄色)。当然,我想做一个传奇:蓝线:所有植物;红色:上限;绿色:下限;黄色:平均
感谢您的帮助
答案 0 :(得分:4)
您可以通过
获取轴手柄h = findobj(gcf,'type','Axes');
然后在你的情况下使用
legend(h(2),'1/s');
注意,findobj
以相反的顺序返回对象。
第二个图(阶段)可以通过h(1)
获得。
要选择某些行,请使用:
h = flipud(findobj(gcf,'type','axes'));
hl1 = flipud(findobj(h(1),'type','Line'));
hl2 = flipud(findobj(h(2),'type','Line'));
% Example
legend(h(1),hl1(1),'1/s');
legend(h(2),hl2(2),'12/s');
或作为另一个例子
legend(h(1),hl1(1:2),'1/s','12/s');
legend(h(2),hl2(1),'1/s');
答案 1 :(得分:1)
对于此类用途,您也可以使用强大的控制工具箱。
a = ureal('a',6,'PlusMinus',5);% nominal 6 plus minus 5
H = tf(a,[1 0]);% Try to avoid tf('s') as much as you can
bode(gridureal(H,10)); % 10 equidistant samples