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);

 Respuesta aceptada

Star Strider
Star Strider el 30 de Sept. de 2018

1 voto

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 comentarios

Riccardo Canola
Riccardo Canola el 30 de Sept. de 2018
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));
Riccardo Canola
Riccardo Canola el 30 de Sept. de 2018
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');
Riccardo Canola
Riccardo Canola el 30 de Sept. de 2018
Awesome. Thanks again!
Star Strider
Star Strider el 30 de Sept. de 2018
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 30 de Sept. de 2018

Comentada:

el 30 de Sept. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by