How to get subscripts in the legend of a Nichols plot?

9 Ansichten (letzte 30 Tage)
Bill Tubbs
Bill Tubbs am 28 Aug. 2020
Kommentiert: Adam Danz am 28 Aug. 2020
How do I put subscripts in a Nichols plot legend?
This works fine in a normal plot:
figure
plot([0 1],[3 4]); hold on
plot([0 1],[4 5])
plot([0 1],[5 6])
legend('G_2', 'G^2', 'G^2_p')
saveas(gcf,'test1.png')
produces:
But:
figure
nichols(Gp); hold on
nichols(Gc1*Gp);
nichols(Gc2*Gp);
legend('G_2', 'G^2', 'G^2_p')
saveas(gcf,'test2.png')
produces:
I tried this:
figure
nichols(Gp); hold on
nichols(Gc1*Gp);
nichols(Gc2*Gp);
legend('$G_2$', '$G^2$', '$\hat{G}^2_{p}$','Interpreter','Latex')
Produces:
Maybe this is the same bug reported in this question in 2015: Subscripts in MATLAB Legends

Akzeptierte Antwort

Adam Danz
Adam Danz am 28 Aug. 2020
This is caused by an extra excape character added when the legend is initially created.
Details are explained by these two answers here.
As explained in that link, you can call the legend twice and the second time should fix the problem.
% Demo
H = tf([-4 48 -18 250 600],[1 30 282 525 60]);
nichols(H)
legend('G^2_p')
legend('G^2_p') % <-- intentionally called again
  2 Kommentare
Bill Tubbs
Bill Tubbs am 28 Aug. 2020
Bearbeitet: Bill Tubbs am 28 Aug. 2020
Thanks.
Indeed you are right:
% First time
h1 = legend('G_2', 'G^2', 'G^2_p')
h1 =
Legend (G\_2, G^2, G^2\_p) with properties:
...
% 2nd time
h2 = legend('G_2', 'G^2', 'G^2_p')
h2 =
Legend (G_2, G^2, G^2_p) with properties:
...
How unusual.
Adam Danz
Adam Danz am 28 Aug. 2020
Indeed. The surprises we find in the entrails for Matlab....

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by