Matlab中巧用LaTex

标签:
杂谈 |
来自:http://bbs.matwav.com/viewthread.php?tid=884859&extra=page=3
Matlab中巧用LaTex
众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β等。但大多数人往往是利用图像后处理软件如Photoshop或illustrator等对生成的图片进行加工。
Latex是被公认的生成公式最漂亮的排版语言(软件),成为事实上学术排版的标准。那么能否利用latex生成公式插入到Matlab生成的图片中呢?答案是肯定的。
Matlab带有Latex解析器,能支持latex的各种符号,比如积分符号等等,给个例子:
生成的图片为:
http://www.matwav.net/attachment/201007/16/446025_1279279749yyY9.jpg
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')
以Matlab图形中的textbox属性为例,首先在图形中输入一个双重积分,然后输入一个Schrodinger方程。命令为:
输出结果为
http://www.matwav.net/attachment/201007/16/446025_12792797492S6v.jpg
当然也可以使用\( \)命令。以此类推也可以对title、xlabel、ylabel、zlabel和legend等使用LaTeX命令,如:
xlabel({'$\int_0^x\!\int_y dF(u,v)$'},'Interpreter','latex')
至于LaTeX命令使用方法可以参考LaTeX教程。
下面给出一个复杂的例子:
生成的图片为:
http://www.matwav.net/attachment/201007/16/446025_1279279750r7mI.jpg
另外,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
Matlab中巧用LaTex
众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β等。但大多数人往往是利用图像后处理软件如Photoshop或illustrator等对生成的图片进行加工。
Latex是被公认的生成公式最漂亮的排版语言(软件),成为事实上学术排版的标准。那么能否利用latex生成公式插入到Matlab生成的图片中呢?答案是肯定的。
Matlab带有Latex解析器,能支持latex的各种符号,比如积分符号等等,给个例子:
生成的图片为:
http://www.matwav.net/attachment/201007/16/446025_1279279749yyY9.jpg
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、\(
2、$
3、$$
1. 在图象中直接加字符,很简单。
text('Interpreter','latex','String','$$\sqrt{x^2+y^2}$$','Position',[.5.5],… 'FontSize',16);
2.
h=legend('$$\sqrt{x^2+y^2}$$');
set(h,'Interpreter','latex')
以Matlab图形中的textbox属性为例,首先在图形中输入一个双重积分,然后输入一个Schrodinger方程。命令为:
输出结果为
http://www.matwav.net/attachment/201007/16/446025_12792797492S6v.jpg
当然也可以使用\( \)命令。以此类推也可以对title、xlabel、ylabel、zlabel和legend等使用LaTeX命令,如:
xlabel({'$\int_0^x\!\int_y dF(u,v)$'},'Interpreter','latex')
至于LaTeX命令使用方法可以参考LaTeX教程。
下面给出一个复杂的例子:
生成的图片为:
http://www.matwav.net/attachment/201007/16/446025_1279279750r7mI.jpg
另外,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
\beta
\gamma
\delta
\epsilon
\zeta
\eta
\theta
\vartheta
\iota
\kappa