MatLab乳胶标题不';t为权力而工作(^)

MatLab乳胶标题不';t为权力而工作(^),matlab,latex,Matlab,Latex,在MatLab(R2015a)中,我想使用latex设置绘图标题的样式 对于某些函数来说,这是可行的,但如果方程中有幂,就不行了 下面的代码起作用,右侧显示格式化的标题,左侧显示未格式化的标题 它显示警告: 警告:更新文本时出错 字符串必须具有有效的解释器语法:y=x^2 编辑: 我刚刚发现,我可以通过在两边附加$来让它工作。但我不得不这么做似乎很奇怪 所以这是可行的: title(strcat('$',latex(eq),'$'),'interpreter','latex') 解决方案 通过

在MatLab(R2015a)中,我想使用latex设置绘图标题的样式

对于某些函数来说,这是可行的,但如果方程中有幂,就不行了

下面的代码起作用,右侧显示格式化的标题,左侧显示未格式化的标题

它显示警告:

警告:更新文本时出错

字符串必须具有有效的解释器语法:y=x^2

编辑:

我刚刚发现,我可以通过在两边附加
$
来让它工作。但我不得不这么做似乎很奇怪

所以这是可行的:

title(strcat('$',latex(eq),'$'),'interpreter','latex')
解决方案 通过在生成的LaTeX表达式之前和之后添加
$
-符号,可以轻松解决此问题。因此,您可以将«
标题
-行»更改为:

title(['$',latex(eq),'$'],'interpreter','latex')
另一种选择是使用您在问题中提出的
strcat


解释 既然你基本上已经自己回答了这个问题,我将解释为什么会发生这种情况。希望读完这篇文章后,这不再是“奇怪”的行为。如果您选择在Matlab中使用LaTeX解释器,您将得到一个LaTeX解释器。这意味着提供的字符串必须是有效的LaTeX语法

在数学环境之外使用
^
被视为无效语法,因为它是LaTeX中的一种语法。在这种情况下,一些口译员会自动在前后添加
$
,但同时会抛出警告

Matlab中的
latex
-函数的输出不带
$
-符号。通过这种方式,您可以根据需要组合输出和连接,而不会造成
$
-符号混乱

要更改为in LaTeX,可以使用前面提到的快捷方式
$…$
。另一种方法是使用
\begin{math}方程\end{math}
。它为您的方程生成相同的结果,并可在此处用于演示目的。下面的一行也可以完成同样的工作,但要写得长一点:

title(['\begin{math}',latex(eq),'\end{math}'],'interpreter','latex')
现在,只有一个方程式正确显示的原因在于
y=x^2
中的无效字符
^
。然后,Matlab选择解释器
none
,因此显示未格式化的字符串。
+
-登录
y=x+2
在数学环境之外是有效的,因此它可以正确显示(但不会在数学环境中解释)

title(['\begin{math}',latex(eq),'\end{math}'],'interpreter','latex')