remove annotations from diskmarginplot

Hey guys! I want to show a system's stability by giving the system's diskmargin by some skew variations. To give a smooth shape of the stable area of the system in complex plane, i stacked all the diskmargin variation by using this script:
% Plant Model
f = pos_motor;
% Plant Diskmargin
s_DOL = -100:1:100;
figure(1)
hold on
for i = 1:numel(s_DOL)
DOL = diskmargin(f,s_DOL(i));
diskmarginplot(DOL.GainMargin,'disk')
end
hold off
And this results in a figure:
The description for each diskmargin on the figure is quite a bother. I searched for the solution in function diskmarginoptions but with no success.
Hope anyone can help! Thanks

 采纳的回答

Hi Muhammad,
Something like this might work, either inside or after the loop. Some experimentation may be needed.
Disk margin plot with annotations.
L = tf(25,[1 10 10 10]);
DM = diskmargin(L);
DGM = DM.GainMargin;
DPM = DM.PhaseMargin;
diskmarginplot(DGM)
Copy the plot to see how it changes
copyobj(gca,figure);
Find the text objects
h = findobj(get(gca,'Children'),'Type','Text')
h =
2×1 Text array: Text (DPM = 26 deg) Text (DGM = [0.63,1.6])
Delete them
delete(h)

1 个评论

Thanks for your help! I got this working by editing the script to:
% Plant Model
f = pos_motor;
% Plant Diskmargin
s_DOL = -100:1:100;
figure(1)
hold on
for i = 1:numel(s_DOL)
DOL = diskmargin(f,s_DOL(i));
diskmarginplot(DOL.GainMargin,'disk')
end
hold off
line_ann = findobj(get(gca,'Children'),'Type','Line');
text_ann = findobj(get(gca,'Children'),'Type','Text');
delete(line_ann(2:end))
delete(text_ann)
Results in:

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Disk-Based Gain and Phase Margins 的更多信息

产品

版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by