找回密码
 注册
关于网站域名变更的通知
查看: 415|回复: 1
打印 上一主题 下一主题

Matlab中巧用LaTex

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-14 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
Matlab中巧用LaTex
( `) F  K, ?$ T( d3 K# d众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β等。但大多数人往往是利用图像后处理软件如Photoshop或illustrator等对生成的图片进行加工。) A' h; w% M+ `) g: i
Latex是被公认的生成公式最漂亮的排版语言(软件),成为事实上学术排版的标准。那么能否利用latex生成公式插入到Matlab生成的图片中呢?答案是肯定的。
) S: L: X0 v$ ]; {' G* M' IMatlab带有Latex解析器,能支持latex的各种符号,比如积分符号等等
2 J& g8 E( n7 B- I
. I8 Q4 E5 n) K3 |) Z" D4 p% M2 U8 \. d8 M2 D
Matlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性有三个属性:latex 、tex、none。默认为tex。
$ H& y5 E, W. a当键入:>> set(text,'Interpreter')
9 s, D  w7 d( |: Z/ [8 R0 J  u5 e) MMatlab将返回'Interpreter'所包含的属性值:
" E' @+ y# k( `/ I) l( c# q" u[ latex | {tex} | none ]。
$ X' X# F7 {! w* i4 \. G利用Matlab文本的Interpreter属性使我们能在图形中显示一个较为复杂的公式,例如在公式中除了有希腊字母外,还有分号、根号等数学符号。* a- t2 J0 O0 l/ m5 B
Tex的用法在Matlab的帮助文档里有详细介绍,这里主要介绍一下如何采用latex编辑公式。, x/ C+ u% G. M6 ?9 z# `0 X
在matlab中,Latex编辑公式的基本格式:
* S+ U: _; C- B! g+ B9 i( Z1、(   LaTeX命令  ); I7 e+ i* z/ V1 ]8 h
2、$   LaTeX命令  $! O3 L/ \- c* `/ J, N/ m; m
3、$$  LaTeX命令  $$( ?* y" D& k+ A" N7 E& q
6 d' F( X) {% L% d7 x
1. 在图象中直接加字符,很简单。
! g+ r. ~4 k! {# J6 l2 e* Ltext('Interpreter','latex','String','$$sqrt{x^2+y^2}$$','Position',[.5.5],… 'FontSize',16);
8 Z9 {. Z7 F! @/ Z1 [2.  在legend里加数学字符  9 N, f: x+ T5 J2 Z( c( P
h=legend('$$sqrt{x^2+y^2}$$');
* I6 O5 M" B0 c8 fset(h,'Interpreter','latex')8 E, G* b/ b0 C
以Matlab图形中的textbox属性为例,首先在图形中输入一个双重积分,然后输入一个Schrodinger方程。命令为:& ?: c* s& {& B& E, ]) G2 o  x
输出结果为5 v2 T% ^! I6 W# Q

( _; E8 a4 Y$ s+ w, T2 d: t1 N. T当然也可以使用( )命令。以此类推也可以对title、xlabel、ylabel、zlabel和legend等使用LaTeX命令,如:/ |$ A$ x' E; L& S2 ]" E1 c) y
xlabel({'$int_0^x!int_y dF(u,v)$'},'Interpreter','latex')  u5 ^1 @+ \* {1 |  q+ J7 F5 [
至于LaTeX命令使用方法可以参考LaTeX教程。& @3 ]" B& @4 ^2 }0 c. P1 G. |5 N

$ e2 B+ }; ~1 T) k% w7 T
( @, @  {! F; R: |另外,Matlab可以吧计算结果转化成Latex格式,对于Matlab计算出的符号运算结果,可以通过latex()函数转化成LeTeX命令格式。由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号结果。所以,为防止对数值结果转化出错,可同时使用latex()和sym()函数:latex(sym(s)); 其中s代表符号表达式。" D6 d! r8 u2 I
( {$ f' k$ z) ?$ o. l) D3 d6 r" K
例如:>>syms a b c
$ S+ c3 g# X8 J0 ?s=a/b+c
! a, h6 B: m% f' o使用latex(s)后转化为LeTeX命令:. l, ^' K- H/ K$ ]8 ~! h3 a& T' a
{frac {a}{b}}+c
! \  x7 U6 Q1 _2 a! cTex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。函数title、xlabel、ylabel、zlabel或text都能 创建一个text对象,因此Tex字符转义符(带“”的字符串)经常作为这些函数的输入参数。如果要输出希腊字母,可以使用texlabel函数将希腊 字母的变量名转化为希腊字母的函数,供函数title、xlabel、ylabel、zlabel或text使用。texlabel转换MATLAB表达式为等价的Tex格式字符串。它处理希腊字母的变量名为实际显示的希腊字母字符串。希腊字母的变量名为“”后面的字符串。
2 E! ^- W6 M/ W8 m# M. R: YTex字符及其函数表0 E% ?4 P# R$ E. t8 H
函数字符        代表符号        函数字符        代表符号        函数字符        代表符号
/ \, l) y/ t9 V* ~7 v9 ~/ U* malpha        α        upsilon        υ        sim        ~
2 R$ r$ r+ g' J9 Hbeta        β        phi        ϕ        leq        ≤
: i& ?, R# W: h( Jgamma        γ        chi        χ        infty        ∞
& J+ Y' i& I8 s% O5 ndelta        δ        psi        ψ        clubsuit         9 \  e6 M9 d/ y3 r: `6 M
epsilon        ϵ        omega        ω        diamondsuit         / |$ O' L# e/ b- j5 S
zeta        ζ        Gamma        Γ        heartsuit         
& r; f: ~* N$ q8 l9 Aeta        η        Delta        Δ        spadesuit         # C# b+ s$ T$ f! L3 U
theta        θ        Theta        Θ        leftrightarrow        ↔
4 O  g; T- J9 X. y  E: |vartheta        ϑ        Lambda        Λ        leftarrow        ←
) m7 g) Q. O: k" [IoTa        ι        Xi        Ξ        uparrow        ↑
9 j. k: N3 H/ j- gkappa        κ        Pi        Π        rightarrow        →
: {# ]1 F2 \. V7 hlambda        λ        Sigma        Σ        downarrow        ↓2 m0 q+ r' r5 L; a2 J% x$ y
mu        μ        Upsilon        Υ        circ        °8 n  ]% M+ ~$ b8 ~8 `  h. q+ K
nu        ν        Phi        Φ        pm        ±+ \  ], d* r- r" O7 ^' M3 I
xi        ξ        Psi        Ψ        geq        ≥
: a8 ^$ A: E( h1 C3 J4 Bpi        π        Omega        Ω        propto        ∝
$ f. W7 ^/ w0 yrho        ρ        forall        ∀        partial        ∂
" ]! p* {0 Y! U: _  Hsigma        σ        exists        ∃        bullet        ∙
. y+ k& ]7 N1 G1 ?2 [0 v( {9 V4 vvarsigma        ς        ni                 div        ÷
" W" J4 c& @% a) |! Q2 T! [tau        τ        cong        ≅        neq        ≠
2 ?* ]5 B7 o, g: ~equiv        ≡: ^* ^9 C' Q% L$ A7 z; s
        approx        ≈        aleph        ℵ
3 j  T6 ?- E" ^' @- J" {1 V9 L! BIm                 Re                 wp         
: B' f2 t* I- Q; Jotimes        ⊗        oplus        ⊕        oslash         * W! A  G, Q7 U7 o0 H. {' v
cap        ∩        cup        ∪        supseteq        ⊇
$ ]* o9 }1 ^% x6 Isupset        ⊂        subseteq        ⊆        subset        ⊃3 v- |9 ~1 ?8 h4 I. H& N9 I; ]
int        ∫        in        ∈        o        ο
+ A* R" L* m) cRFloor                 lceil                 nabla         6 K% l: Y) g4 P" }5 h
lfloor                 cdot                 ldots         
4 y5 R$ {. A( b) L* A, A9 |perp                 neg                 prime         8 u! f$ I- G$ S
wedge                 times                         ∅
/ E3 I, b# {: n, wrceil                 surd                 mid        |
+ h9 L3 ~1 M* C; H  h; qvee                 varpi                 copyright        ©
2 Z6 X4 m( B4 @" V3 plangle                 rangle                        " |3 ^( ^* K3 w7 h% i
具体的公式编辑命令:( J  c4 }+ [! F+ U9 p. \" ^$ Q
1.上标用^和下表用_,希腊字母与tex一样,即alpha表示α。
, Q8 R  r; y( ^  a9 f2.求和: $$sum_{i=1}^{n} x_{i}$$: `. l. j. B$ {
3.积分: $$ int_{0}^{1}$$4 @+ [2 c1 Q, s% w$ D
4.求极限: $$lim_{n rightarrow infty}$$  %n趋于无穷符号在lim正下方
8 n+ _6 A+ N' w% b" z5 f% a0 C$lim_{n rightarrow infty} $ %趋于无穷符号在lim右下角- T8 {1 Z. \5 D& w/ ^
5. 分式: $$frac{1}x$$  %1/x, H& a* K" g  B# [: `
6. 根式: $$sqrt{x}$$
% v& F$ f. w1 @7. 上划线: $$overline{x}$$
/ U3 M( F, L  A$ L" E! F8. 下划线: $$underline{x}$$  %下划线在x的正下方
' [/ g  @7 c/ B9 o9.卧式花括号命令: $$overbrace{x+y+z+w}$$
2 C- b5 o* p: o10.仰式花括号命令: $$a+underbrace{b+c+d} $$
2 \8 k6 [' I5 K( T11.戴帽命令: $$hat{o} check{o} breve{o}$$
( J/ x; o3 J% ?! ]5 O- N$$widehat{A+B} widetilde{a+b}$$, s& f# N* a8 Q# k
$$vec{imath}+vec{jmath}=vec{k}$$* z2 ~1 B: H* D! v6 G9 R) Y! J6 R
12.堆砌命令: $$ystackrel{rm def}{=} f(x) stackrel{xrightarrow 0}{rightarrow} A$$& t! W, q/ ?4 z2 e% {% P
13.省略号: $cdots ldots vdots ddots $
3 G' p% ~, P+ u0 I: s& S, i(1)Tex字符的字体设置有如下6种。! y0 K7 |# K( s
①bf:设置字体为粗体字。
7 W6 |5 o* m' k' j( {2 w: C! ^②it:设置字体为斜体字。" u1 E4 o( h/ W2 }3 Y7 z
③sl:设置字体为斜体字,很少使用。: m% _7 i/ c0 W/ H) f" f/ L
④rm:设置字体为正常字体。
- o! ]# h  e! y# Q2 V5 q( V⑤fontname{字体名}:设置字体名。例如:fontname{宋体}。8 K7 d6 P7 H( W# @7 g- G$ `
⑥fontsize{字体大小}:设置字体大小。例如:fontsize{16}。
8 y8 _& f2 T6 y2 h: B(2)Tex字符的颜色设置有下面两种方法。
) X$ Y' s, u8 D8 g: d" r. i  a0 [①color{颜色名}颜色名:颜色名有12种,分别为red、green、yellow、magenta、blue、black、white、 cyan、gray、barkGreen、orange和lightBlue。例如:color{magenta}magenta。
$ ~4 O) M* G' q# l5 t②color[rgb]{a b c}:设置字体颜色为RGB矩阵[a b c]所表示的颜色。 a、b和c都在[0 1] 范围内。例如:color[rgb]{0 .5 .5}。" u$ ]* W* [6 r. A* q& ^4 t$ e; R
(3)Tex字符的位置有2种设置。8 a1 v) W; n, L1 B) u
①_:表示下标。 ②^:表示上标。0 i$ y  ~/ H0 k3 [( r

该用户从未签到

2#
发表于 2020-4-14 18:31 | 只看该作者
Matlab中巧用LaTex
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-22 08:59 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表