String scalar or character vector must have valid interpreter syntax?

Hello.
I am trying to make a legend for a plot, but i get the error 'String scalar or character vector must have valid interpreter syntax'. The code is showed below.
m = 4;
legend(['Lagrange, {\itp}_{' num2str(m) '}({\itx})'],'Interpolated points','Discrete points','location','best') ;
Can someone tell me what to do? :-)

2 Comments

What MATLAB version are you using?
plot(1:5,rand(5,3))
m = 4;
t = ['Lagrange, {\itp}_{' num2str(m) '}({\itx})']
t = 'Lagrange, {\itp}_{4}({\itx})'
legend(t,'Interpolated points','Discrete points','location','best')
I think it is MATLAB R2020b. Should i update it?

Sign in to comment.

Answers (1)

I ran the following lines of code in MATLAB R2020b and did it not throw any error (as you mentioned in the comments that you were using MATLAB R2020b):
plot(1:5,rand(5,3))
m = 4;
legend(['Lagrange, {\itp}_{' num2str(m) '}({\itx})'],'Interpolated points','Discrete points','location','best')
I do not think it an issue related to MATLAB R2020b. I would recommend you to clear the workspace and command window and retry executing the above lines of code.
Hope this helps!

Asked:

on 16 Dec 2021

Edited:

on 26 Feb 2024

Community Treasure Hunt

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

Start Hunting!