How to use num2str inside text with latex interpreter?

41 visualizaciones (últimos 30 días)
Giuseppe
Giuseppe el 6 de Oct. de 2022
Comentada: Star Strider el 7 de Oct. de 2022
Hi to everyone, I want to assign a number to a string inside a text command to dynamically change the output of the text inside the plot.
Here is an attempt of coding:
clc;clear all;close all;
figure
i=1
i = 1
plot(1:6,2:7)
text(2,4,'$L_{1}$','Interpreter',"latex");
text(4,5,'$L_{',num2str(i),'}$','Interpreter',"latex");
Error using text
Unrecognized property 1 for class Text.
Can you help me to correclty code the last line?

Respuesta aceptada

Star Strider
Star Strider el 7 de Oct. de 2022
I prefer to use sprintf for this. (If you use any escape characters, you need to use double backslants. See the documentation for detais.).
figure
i=1
i = 1
plot(1:6,2:7)
text(2,4,sprintf('$L_{%d}$',i),'Interpreter',"latex");
text(4,3,sprintf('$L_{\\frac{%d}{2}}$',i),'Interpreter',"latex");
.
  4 comentarios
Giuseppe
Giuseppe el 7 de Oct. de 2022
Clear explaination! Thanks aganin!
Star Strider
Star Strider el 7 de Oct. de 2022
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (2)

Jeff Miller
Jeff Miller el 7 de Oct. de 2022
I think you need square brackets like this to assemble all the characters into a single string
text(4,5,['$L_{',num2str(i),'}$'],'Interpreter',"latex");

dpb
dpb el 7 de Oct. de 2022
i=1;
text(0.4,0.5,"L_{" + i + "}")
i=i+1;
text(0.4,0.4,"\it L_{" + i + "}")
i=i+1;
text(0.4,0.3,"\it L\rm_{" + i + "}")
Variations on a theme; the above doesn't require LaTeX; the default TeX interpreter can manage on its own.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by