what is this error "error updating text"

i keep gettin an error i have not seen before
"Warning error updating text string scalar or character bector must have valid interpreter syntax"
below is the code
x=(1:15); % x
y=[0.35 0.4 0.52 0.58 0.46 0.74 0.68 0.82 1.03 1.17 1.81 2.01 2.63 3.29 4]; % y
P=polyfit(x,log(y),1);
A=exp(P(2))
B=(P(1))
y_fit=a*exp(b*x);
figure
plot(x,y,'r*')
xlabel('x')
ylabel('y and y__fit')
grid on
hold on
plot(x,y_fit,'-b')
legend('Original data (y)','Fitted data (y__fit)')

1 Comment

Add "clear all" as the first line of your code, run it again, debug it and paste the error that you couldn't resolve.

Sign in to comment.

 Accepted Answer

By default, labels and legends (among other things) apply a tex interpreter to their text. The '_' is used to indicate a subscript.
In your text, you use a double underscore: 'y__fit'. The error is telling you that MATLAB does not know how to interpret this. If you do not want it to do anything, change your code to set the corresponding interpreters to 'none'.
x=(1:15); % x
y=[0.35 0.4 0.52 0.58 0.46 0.74 0.68 0.82 1.03 1.17 1.81 2.01 2.63 3.29 4]; % y
P=polyfit(x,log(y),1);
a=exp(P(2))
a = 0.2555
b=(P(1))
b = 0.1722
y_fit=a*exp(b*x);
figure
plot(x,y,'r*')
xlabel('x')
ylabel('y and y__fit','Interpreter',"none")
grid on
hold on
plot(x,y_fit,'-b')
legend('Original data (y)','Fitted data (y__fit)','Interpreter',"none")
You can read more about legend interpreters here and ylabel interpreters here.

More Answers (0)

Products

Release

R2021a

Community Treasure Hunt

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

Start Hunting!