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}}+cTex字符在输出一些数学公式时经常使用,它只能由类型为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
∙\var
sigma
ς \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/x6. 根式: $$\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种设置。
①_:表示下标。 ②^:表示上标。