How to insert loop variable inside plot label?

I want to insert the value of the loop variable inside a label next to a string. How do I do it?
for i = 1:n
subplot(1,n,i)
plot(1:m,THETA(i,:))
hold on
plot(1:m+1,THETA_est_rls(i,:))
plot(1:m+1,THETA_est_ewrls(i,:))
legend('true','RLS','EWRLS')
xlabel('Iterations');
ylabel('\theta', i);

 Réponse acceptée

Star Strider
Star Strider le 30 Sep 2018

1 vote

I assume you want to include it in your ylabel call.

This works:

ylabel(sprintf('\\theta %d', i));

The double \\ are necessary to get one of them to print correctly. (The leading \ operates as an ‘escape’ character.)

6 commentaires

Thanks! Very helpful
As always, my pleasure!
If you want the index ‘i’ to appear as a subscript instead, this works:
ylabel(sprintf('\\theta_{%d}', i));
Ok. What if I want also to put a cap over theta. Do I have to use latex?
For the cap, yes.
ylabel(sprintf('$\\hat{\\theta}_{%d}$', i), 'Interpreter','latex');
Awesome. Thanks again!
Star Strider
Star Strider le 30 Sep 2018
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by