# How to use num2str inside text with latex interpreter?

32 views (last 30 days)
Giuseppe on 6 Oct 2022
Commented: Star Strider on 7 Oct 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?

Star Strider on 7 Oct 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");
.
Star Strider on 7 Oct 2022
As always, my pleasure!

Jeff Miller on 7 Oct 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 on 7 Oct 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.

### Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

R2022a

### Community Treasure Hunt

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

Start Hunting!

Translated by