How can I set linewidth directly in bode command?
조회 수: 373 (최근 30일)
이전 댓글 표시
I can draw a bode plot as below
sys = tf(4,[1 0.5 4]);
figure(1), bode(sys), grid on;
Now, I would like to change some options in the Bode plot.
I can set the options through 'bodeoptions' as below.
sys = tf(4,[1 0.5 4]);
options = bodeoptions;
options.FreqUnits = 'Hz';
options.Title.FontSize = 14;
options.XLabel.FontSize = 14;
options.YLabel.FontSize = 14;
options.TickLabel.FontSize = 14;
figure(2), bode(sys, options), grid on;
But I can't find the option to set the linewidth of the bode plot.
How can I do that?
댓글 수: 0
답변 (3개)
Birdman
2020년 3월 25일
You can try semilogx. See the following code:
sys=tf(4,[1 0.5 4]);
[mag,phase,wout] = bode(sys);
Mag=20*log10(mag(:));Phase=phase(:);
figure(1);semilogx(wout,Mag,'LineWidth',5);grid on;
figure(2);semilogx(wout,Phase,'LineWidth',1);grid on;
Star Strider
2020년 3월 25일
It is possible to do this without getting the outputs from bode and doing separate plots, however it requires some fairly extensive ‘handle diving’:
sys = tf(4,[1 0.5 4]);
figure(1)
bode(sys)
grid
Fh = gcf; % Handle To Current Figure
Kids = Fh.Children; % Children
AxAll = findobj(Kids,'Type','Axes'); % Handles To Axes
Ax1 = AxAll(1); % First Set Of Axes
LinesAx1 = findobj(Ax1,'Type','Line'); % Handle To Lines
LinesAx1(2).LineWidth = 5; % Set ‘LineWidth’
Ax2 = AxAll(2); % Second Set Of Axes
LinesAx2 = findobj(Ax2,'Type','Line'); % Handle To Lines
LinesAx2(2).LineWidth = 5; % Set ‘LineWidth’
Experiment to get different results.
댓글 수: 2
Star Strider
2020년 3월 26일
My pleasure.
This is the only way I am aware of to change the linewidths (or any other options) in the Control System Toolbox and System Identification Toolbox graphics functions.
Marcelo Moraes
2023년 4월 17일
fig = gcf;
obj = findobj(fig,'Type','hggroup');
for idx = 1:numel(obj)
for jdx = 1:numel(obj(idx).Children)
obj(idx).Children(jdx).LineWidth = 2;
end
end
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with Control System Toolbox에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!