Change just the ylims of the Magnitude plot from the bode TF
25 次查看(过去 30 天)
显示 更早的评论
Hello,
I am trying to change the ylims of just the magnitude of the bode TF plot but I get the error "Undefined function 'getoptions' for input arguments of type 'tf'. Can you help me change the ylims of just the magnitude response? Thanks. Here is what I have so far:
w=100;
e=0.3;
lgspA = logspace(0,5,1000);
num=[2*w*e (w^2)];
den=[1 2*w*e (w^2)];
test_sys1=1-tf(num,den);
[MAG,PHASE,W] = bode(test_sys1, lgspA);
W1 = W;
MAG1 = 20*log10(squeeze(MAG));
e=0.5;
num=[2*w*e (w^2)];
den=[1 2*w*e (w^2)];
test_sys2=1-tf(num,den);
[MAG,PHASE,W] = bode(test_sys2, lgspA);
W2 = W;
MAG2 = 20*log10(squeeze(MAG));
bode(test_sys1,test_sys2);
ylims = getoptions(test_sys1,'YLim'); % size of ylims for this plot will be 2x1 (mag; phase);
ylims{1} = [-60,10];
setoptions(test_sys1,'YLimMode','manual','YLim',ylims)
legend('e=0.3','e=0.5');
0 个评论
采纳的回答
Star Strider
2016-1-19
Use the bodeplot function instead of bode. It will allow you to use the setoptions function.
0 个评论
更多回答(1 个)
Martin Hartenberger
2021-9-7
编辑:Martin Hartenberger
2021-9-7
You have to first search for all the axes objects in the figure. The third one is the axis of the magnitude plot. After setting this axis as your current one, you can edit the axis limits with ylim and xlim:
G = tf(1,[1,0]);
f1 = bode(G);
axes_handles = findall(f1, 'type', 'axes');
axes(axes_handles(3))
ylim([-60,5])
1 个评论
Leslie Lamontagne
2023-4-5
This method also works when using the margin function to plot bode. Thanks!
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Response Computation and Visualization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!