如何在matlab中的xlabel,ylabel,legend和text函数中使用latex

如何在matlab中的xlabel,ylabel,legend和text函数中使用latex,第1张

Matlab中巧用LaTex

众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β等。但大多数人往往是利用图像后处理软件如Photoshop或illustrator等对生成的图片进行加工。

Latex是被公认的生成公式最漂亮的排版语言(软件),成为事实上学术排版的标准。那么能否利用latex生成公式插入到Matlab生成的图片中呢?答案是肯定的。

Matlab带有Latex解析器,能支持latex的各种符号,比如积分符号等等。

Matlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性有三个属性:latex 、tex、none。默认为tex。

当键入:>>set(text,'Interpreter')

Matlab将返回'Interpreter'所包含的属性值:

[ latex | {tex} | none ]。

利用Matlab文本的Interpreter属性使我们能在图形中显示一个较为复杂的公式,例如在公式中除了有希腊字母外,还有分号、根号等数学符号。

Tex的用法在Matlab的帮助文档里有详细介绍,这里主要介绍一下如何采用latex编辑公式。

在matlab中,Latex编辑公式的基本格式:

1、\( LaTeX命令 \)

2、$ LaTeX命令 $

3、$$ LaTeX命令 $$

1. 在图象中直接加字符,很简单。

text('Interpreter','latex','String','$$\sqrt{x^2+y^2}$$','Position',[.5.5],… 'FontSize',16)

2. 在legend里加数学字符

h=legend('$$\sqrt{x^2+y^2}$$')

set(h,'Interpreter','latex')

当然也可以使用\( \)命令。以此类推也可以对title、xlabel、ylabel、zlabel和legend等使用LaTeX命令,如:

xlabel({'$\int_0^x\!\int_y dF(u,v)$'},'Interpreter','latex')

至于LaTeX命令使用方法可以参考LaTeX教程。

另外,Matlab可以吧计算结果转化成Latex格式,对于Matlab计算出的符号运算结果,可以通过latex()函数转化成LeTeX命令格式。由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号结果。所以,为防止对数值结果转化出错,可同时使用latex()和sym()函数:latex(sym(s))其中s代表符号表达式。

例如:>>syms a b c

s=a/b+c

使用latex(s)后转化为LeTeX命令:

{\frac {a}{b}}+c

Tex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。函数title、xlabel、ylabel、zlabel或text都能 创建一个text对象,因此Tex字符转义符(带“\”的字符串)经常作为这些函数的输入参数。如果要输出希腊字母,可以使用texlabel函数将希腊 字母的变量名转化为希腊字母的函数,供函数title、xlabel、ylabel、zlabel或text使用。texlabel转换MATLAB表达式为等价的Tex格式字符串。它处理希腊字母的变量名为实际显示的希腊字母字符串。希腊字母的变量名为“\”后面的字符串。

Tex字符及其函数表

函数字符代表符号函数字符代表符号函数字符代表符号

\alphaα\upsilonυ\sim~

\betaβ\phiϕ\leq≤

\gammaγ\chiχ\infty∞

\deltaδ\psiψ\clubsuit

\epsilonϵ\omegaω\diamondsuit

\zetaζ\GammaΓ\heartsuit

\etaη\DeltaΔ\spadesuit

\thetaθ\ThetaΘ\leftrightarrow↔

\varthetaϑ\LambdaΛ\leftarrow←

\iotaι\XiΞ\uparrow↑

\kappaκ\PiΠ\rightarrow→

\lambdaλ\SigmaΣ\downarrow↓

\muμ\UpsilonΥ\circ°

\nuν\PhiΦ\pm±

\xiξ\PsiΨ\geq≥

\piπ\OmegaΩ\propto∝

\rhoρ\forall∀\partial∂

\sigmaσ\exists∃\bullet∙

\varsigmaς\ni \div÷

\tauτ\cong≅\neq≠

\equiv≡

\approx≈\alephℵ

\Im \Re \wp

\otimes⊗\oplus⊕\oslash

\cap∩\cup∪\supseteq⊇

\supset⊂\subseteq⊆\subset⊃

\int∫\in∈\oο

\rfloor \lceil \nabla

\lfloor \cdot \ldots

\perp \neg \prime

\wedge \times \0∅

\rceil \surd \mid|

\vee \varpi \copyright©

\langle \rangle

具体的公式编辑命令:

1.上标用^和下表用_,希腊字母与tex一样,即\alpha表示α。

2.求和: $$\sum_{i=1}^{n} x_{i}$$

3.积分: $$ \int_{0}^{1}$$

4.求极限: $$\lim_{n \rightarrow \infty}$$ %n趋于无穷符号在lim正下方

$\lim_{n \rightarrow \infty} $ %趋于无穷符号在lim右下角

5. 分式: $$\frac{1}x$$ %1/x

6. 根式: $$\sqrt{x}$$

7. 上划线: $$\overline{x}$$

8. 下划线: $$\underline{x}$$ %下划线在x的正下方

9.卧式花括号命令: $$\overbrace{x+y+z+w}$$

10.仰式花括号命令: $$a+\underbrace{b+c+d} $$

11.戴帽命令: $$\hat{o}\ \ \check{o}\ \ \breve{o}$$

$$\widehat{A+B} \ \ \widetilde{a+b}$$

$$\vec{\imath}+\vec{\jmath}=\vec{k}$$

12.堆砌命令: $$y\stackrel{\rm def}{=} f(x) \stackrel{x\rightarrow 0}{\rightarrow} A$$

13.省略号: $\cdots \ldots \vdots \ddots $

(1)Tex字符的字体设置有如下6种。

①\bf:设置字体为粗体字。

②\it:设置字体为斜体字。

③\sl:设置字体为斜体字,很少使用。

④\rm:设置字体为正常字体。

⑤\fontname{字体名}:设置字体名。例如:\fontname{宋体}。

⑥\fontsize{字体大小}:设置字体大小。例如:\fontsize{16}。

(2)Tex字符的颜色设置有下面两种方法。

①\color{颜色名}颜色名:颜色名有12种,分别为red、green、yellow、magenta、blue、black、white、 cyan、gray、barkGreen、orange和lightBlue。例如:\color{magenta}magenta。

②\color[rgb]{a b c}:设置字体颜色为RGB矩阵[a b c]所表示的颜色。 a、b和c都在[0 1] 范围内。例如:color[rgb]{0 .5 .5}。

(3)Tex字符的位置有2种设置。

①_:表示下标。 ②^:表示上标。

Matlab中使用LaTeX有两种方法:对Matlab生成的图形标注、将Matlab的计算结果转化为LaTeX格式。

具体解析如下:

1、对Matlab生成的图形标注:

Matlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性有三个:latex 、tex、none;默认为tex。

为方便利用LaTeX的命令,需要在把Matlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性设定为latex。

首先,在Matlab中使用LaTeX语言的格式有三种:

(1)、\( LaTeX命令\)

(2)、$ LaTeX命令$

(3)、$$ LaTeX命令$$

以Matlab图形中的textbox属性为例,在图形中输入一个双重积分,然后输入一个Schrodinger方程。命令为:

x=0:0.2:2*pi

y=sin(x)

My_paper_figure(x,y)

text('Interpreter','latex','String','$\rightarrow\phi +\sin(x)$','Position',[2.2 sin(2)],'FontSize',20) %在坐标(2.2,sin(2)处输出-->)

输出结果为:

2、将Matlab的计算结果转化成Latex格式

(1)、对于Matlab计算出的符号运算结果,可以通过latex()函数转化成LaTeX命令格式。由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号结果。所以,为防止对数值结果转化出错,可同时使用latex()和sym()函数:latex(sym(s))其中s代表符号表达式。

如:syms a b c

s=a/b+c

使用latex(s)后转化为LeTeX命令:

{\frac {a}{b}}+c

(2)、把Matlab的分析图片结果转化成Latex使用的.eps格式,以便使用latex进行编辑使用。

可以使用Latex Markup,将M-file转换成 text-file。

cell ->Insert text parkup ->Latex Markup

在编辑完M-file文件后,点击Publish 图标“”的倒三角号,选择"Edit M-File Con gurations" 窗口。

然后在"Publish settings"的对话框中,选择“Output file format” 中的“latex”选项,点击“Save as”即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11477675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存