Inserting vertical and horizontal line in bodeplot

109 次查看(过去 30 天)
Hello
With below code I have made a bode plot. Then I have calculatted an angular frequency.
I want to insert a vertical line from my found angular frequency(found to be 0.041889), and also a horizontal line so I can determine the phase angel on the y-axis:
Can this be done?
IThe plan is that it should look like this:
My code:
sys1=tf([1805.1],[4637.61 136.2 1]) %transfer function
w=logspace(-5,2); %Define frequency range
[A,phi]=bode(sys1,w); %Amplitude ratio (A) and phase shift (phi)
figure
subplot(2,1,1)
loglog(w,A(:)) %Amplitude ratio vs frequency
grid on
ylabel('AR')
subplot(2,1,2)
semilogx(w,phi(:))
ylabel('Phase angle(Degrees)')
xlabel('Frequency(rad/s)')
legend({'Lower tank'},'Fontsize',14) %add "title" to plot...

采纳的回答

Stephan
Stephan 2019-11-30
编辑:Stephan 2019-11-30
xline and yline should work for this purpose. Both functions were introduced with R2018b. If you use an earlier release, just define two points for every line you need and use the plot command combined with hold on and hold off including the line format as you wish it to look like.
  3 个评论
Stephan
Stephan 2019-11-30
编辑:Stephan 2019-11-30
you could interpolate:
phi1 = squeeze(phi);
ypoint = interp1(w,phi1,0.041889)
ypoint =
-140.6024
the whole code would look like:
sys1=tf([1805.1],[4637.61 136.2 1]) %transfer function
w=logspace(-5,2); %Define frequency range
[A,phi]=bode(sys1,w); %Amplitude ratio (A) and phase shift (phi)
figure
subplot(2,1,1)
loglog(w,A(:)) %Amplitude ratio vs frequency
grid on
ylabel('AR')
subplot(2,1,2)
semilogx(w,phi(:))
ylabel('Phase angle(Degrees)')
xlabel('Frequency(rad/s)')
legend({'Lower tank'},'Fontsize',14) %add "title" to plot...
hold on
phi1 = squeeze(phi);
ypoint = interp1(w,phi1,0.041889)
scatter(0.041889,ypoint,'or')
xline(0.041889,'--r')
yline(ypoint,'--r')

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by