I just cannot figure out what the problem is with this line, please help. I get this warning sometimes:
Warning: Error updating Text.
Character vector must have valid interpreter syntax:
$ρ_t = 0.26ρ_f, θ_0 = 90°$
Regardless, the subscripts never take. Here is the problematic line:
title(sprintf('$%c_t=%.2f%c_f,%c_0=%2.0f%c$',961,idens,961,952,iang*180/pi,176),'Interpreter','latex');

 Respuesta aceptada

Walter Roberson
Walter Roberson el 29 de Mzo. de 2018

1 voto

latex cannot have any characters with position greater than 255. That is violated by your 961 (rho) and 952 (theta).
Use \rho and \theta

3 comentarios

xtremecheez
xtremecheez el 29 de Mzo. de 2018
I was not aware of that, but this doesn't quite work either:
title(sprintf('$\rho_t = %.2f\rho_f, \theta_0 = %2.0f%c$',idens,iang*180/pi,176),'interpreter','latex');
nor this with \\greek instead of \greek:
title(sprintf('$\\rho_t = %.2f\\rho_f, \\theta_0 = %2.0f%c$',idens,iang*180/pi,176),'interpreter','latex');
For both I get the following warning:
Character vector must have valid interpreter syntax:
$\rho_t = 0.26\rho_f, \theta_0 = 90°$
Walter Roberson
Walter Roberson el 29 de Mzo. de 2018
The degree character is causing the problem. Use ^{\circ}
xtremecheez
xtremecheez el 29 de Mzo. de 2018
That was it, thanks.

Iniciar sesión para comentar.

Más respuestas (1)

Amirali Kamalian
Amirali Kamalian el 30 de Dic. de 2019
Editada: Amirali Kamalian el 30 de Dic. de 2019

1 voto

I have a problem quite similar to this:
pltt = '%1.0u: %4u $^{\circ}$C, %4u kg/h';
...
title(sprintf(pltt, j, T, Q),'FontSize', 12,'Interpreter','latex')
When executing this code, I get the following warning:
"String scalar or character vector must have valid interpreter syntax". Furthermore,
"Warning: Escaped character '\c' is not valid."
Any ideas how to fix this?

2 comentarios

Stephen23
Stephen23 el 30 de Dic. de 2019
You forgot to escape the backslash, i.e. \\circ instead of \circ. This is because you are supplying pltt as the format string to sprintf, so any special characters in it that you want to be treated as literal characters will need to be escaped: you should always check the output of sprintf before using it.
Amirali Kamalian
Amirali Kamalian el 30 de Dic. de 2019
Thanks Stephen!

Iniciar sesión para comentar.

Categorías

Más información sobre Labels and Annotations en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 29 de Mzo. de 2018

Comentada:

el 30 de Dic. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by