Inserting vertical and horizontal line in bodeplot

56 views (last 30 days)
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...

Accepted Answer

Stephan
Stephan on 30 Nov 2019
Edited: Stephan on 30 Nov 2019
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 Comments
Stephan
Stephan on 30 Nov 2019
Edited: Stephan on 30 Nov 2019
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')

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!