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

Matlab中巧用LaTex

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Matlab中巧用LaTex
/ e  m" @2 c" {- u众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β等。但大多数人往往是利用图像后处理软件如Photoshop或illustrator等对生成的图片进行加工。
# v- Y! ?* W5 V5 t0 r6 }Latex是被公认的生成公式最漂亮的排版语言(软件),成为事实上学术排版的标准。那么能否利用latex生成公式插入到Matlab生成的图片中呢?答案是肯定的。( r5 u2 j* y5 ^" B$ }* t* |- U
Matlab带有Latex解析器,能支持latex的各种符号,比如积分符号等等4 i4 b, q  ], c8 ]

) b3 S- L2 l. a# P5 k: U7 U. |6 z$ T
Matlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性有三个属性:latex 、tex、none。默认为tex。& \$ f- B2 [" X9 v; c) A$ g
当键入:>> set(text,'Interpreter')
6 O( d  W; A! C( Y+ bMatlab将返回'Interpreter'所包含的属性值:
3 s3 s! [, v5 P8 o  S[ latex | {tex} | none ]。
# @) `, A7 c( `9 W9 t利用Matlab文本的Interpreter属性使我们能在图形中显示一个较为复杂的公式,例如在公式中除了有希腊字母外,还有分号、根号等数学符号。( B. _$ C- V6 D- X! V; d
Tex的用法在Matlab的帮助文档里有详细介绍,这里主要介绍一下如何采用latex编辑公式。
: T1 Y" o: w. R4 V3 o$ j在matlab中,Latex编辑公式的基本格式:
1 E: l+ }" o" j6 w, B1、(   LaTeX命令  )
5 q9 G3 ^; M2 H2、$   LaTeX命令  $) K- }6 w9 }' `. B( B  }# Y' Z
3、$$  LaTeX命令  $$
/ `& S- \9 p6 U' D* d$ C% v9 `8 R" [
1. 在图象中直接加字符,很简单。
. w9 |& b) o+ }7 R5 b( Atext('Interpreter','latex','String','$$sqrt{x^2+y^2}$$','Position',[.5.5],… 'FontSize',16);/ [1 v% f2 N# r% E- H! I7 M
2.  在legend里加数学字符  
9 h6 U; @) d3 ?. x1 z* j8 O9 B) H9 Qh=legend('$$sqrt{x^2+y^2}$$');* T/ s3 \" e& _* t$ a3 `
set(h,'Interpreter','latex')
% w6 N( [& v0 p8 w以Matlab图形中的textbox属性为例,首先在图形中输入一个双重积分,然后输入一个Schrodinger方程。命令为:- C* p8 d. ^$ w. K1 Z- u* w
输出结果为
5 B2 c" r7 X: {& V- _+ n: O8 v
- _2 I- _: n& j4 `' G当然也可以使用( )命令。以此类推也可以对title、xlabel、ylabel、zlabel和legend等使用LaTeX命令,如:8 o+ }' t$ f) X# J
xlabel({'$int_0^x!int_y dF(u,v)$'},'Interpreter','latex')6 K5 D5 G3 J% u! j
至于LaTeX命令使用方法可以参考LaTeX教程。
1 H$ B: n* n8 S9 M4 ?$ f5 r! g/ X" O5 z

7 h, L' T5 F& h3 m9 G另外,Matlab可以吧计算结果转化成Latex格式,对于Matlab计算出的符号运算结果,可以通过latex()函数转化成LeTeX命令格式。由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号结果。所以,为防止对数值结果转化出错,可同时使用latex()和sym()函数:latex(sym(s)); 其中s代表符号表达式。
3 _! ?% w/ d" \2 s* x( h- B
* _" g: o8 T' A. b% L0 e$ o例如:>>syms a b c9 t4 t) t: ^- l  y; d
s=a/b+c
/ {* U$ Z2 \) F& M5 t; i0 R使用latex(s)后转化为LeTeX命令:
7 K0 L8 [) s) J9 @; R{frac {a}{b}}+c. z# D6 W6 S8 D6 |# P9 F
Tex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。函数title、xlabel、ylabel、zlabel或text都能 创建一个text对象,因此Tex字符转义符(带“”的字符串)经常作为这些函数的输入参数。如果要输出希腊字母,可以使用texlabel函数将希腊 字母的变量名转化为希腊字母的函数,供函数title、xlabel、ylabel、zlabel或text使用。texlabel转换MATLAB表达式为等价的Tex格式字符串。它处理希腊字母的变量名为实际显示的希腊字母字符串。希腊字母的变量名为“”后面的字符串。
- Y! t  C' H6 O. ]: \& u. k# t0 |( }Tex字符及其函数表
- {0 J' u; {% E1 n8 @: L函数字符        代表符号        函数字符        代表符号        函数字符        代表符号
) u$ A2 d9 i, p6 ]% M& U: Kalpha        α        upsilon        υ        sim        ~
9 V$ N, i/ O9 a3 pbeta        β        phi        ϕ        leq        ≤0 K8 `# w4 ~6 c
gamma        γ        chi        χ        infty        ∞0 \) Z0 V: |/ B- M, M9 D. W
delta        δ        psi        ψ        clubsuit         
5 _$ {* d8 G4 [( e/ T/ k' Nepsilon        ϵ        omega        ω        diamondsuit         + a; w) E3 l% W9 n, F& R' A- h
zeta        ζ        Gamma        Γ        heartsuit         ) Y* a# H4 @: E
eta        η        Delta        Δ        spadesuit         
3 N5 U: x9 Y3 s- T  t6 ^8 Y3 stheta        θ        Theta        Θ        leftrightarrow        ↔
7 i: W/ E& ^# l6 `6 @2 }9 Bvartheta        ϑ        Lambda        Λ        leftarrow        ←
) S6 [9 x* j" j9 R7 @3 |IoTa        ι        Xi        Ξ        uparrow        ↑# F! |2 D; ]6 N8 r$ j+ D
kappa        κ        Pi        Π        rightarrow        →
, `! Q' [6 `, _' H& flambda        λ        Sigma        Σ        downarrow        ↓3 b7 d8 |. }& |1 h- q& F4 d) T, r; q
mu        μ        Upsilon        Υ        circ        °" B* f" u, I& d
nu        ν        Phi        Φ        pm        ±) P2 |1 B. K. z( L& [" [8 H& A
xi        ξ        Psi        Ψ        geq        ≥6 D# Q( p! h- Y. ^" ~
pi        π        Omega        Ω        propto        ∝3 M4 p" t$ Q8 V) S* J
rho        ρ        forall        ∀        partial        ∂
( R6 T* p0 a2 L/ usigma        σ        exists        ∃        bullet        ∙
- |8 S7 B' \# {  Y5 _0 Q6 p7 Bvarsigma        ς        ni                 div        ÷- X  d% l) P' b. M. r2 w
tau        τ        cong        ≅        neq        ≠/ r9 H& Z. U! I: s: h  S+ U" S
equiv        ≡# I. P# B4 F( B# O) j' b
        approx        ≈        aleph        ℵ
) \; \! o8 ?: P0 w# y% J  i5 ]1 kIm                 Re                 wp         
1 K. e0 j" B% W% R1 I+ o, \otimes        ⊗        oplus        ⊕        oslash         # n& z: w* ~" p! p2 }7 i& O
cap        ∩        cup        ∪        supseteq        ⊇7 |2 ^) [1 V% P
supset        ⊂        subseteq        ⊆        subset        ⊃+ i9 J; O, Z, O3 Q+ n. K4 b
int        ∫        in        ∈        o        ο- Z- F# M$ d( y' I. [" V3 M: k
RFloor                 lceil                 nabla         
' T$ z' ]7 o; }% K% J" Zlfloor                 cdot                 ldots         
! P3 F1 x7 i, s- operp                 neg                 prime         3 `9 o# ~: u7 f* B
wedge                 times                         ∅# }8 ]6 a4 v: D" `! X4 i0 k
rceil                 surd                 mid        |
6 O4 I# E0 L7 V8 {4 s1 v' mvee                 varpi                 copyright        ©5 R0 H, _7 ?1 ^: r4 }8 `4 J4 I
langle                 rangle                        $ L; n8 s+ y+ E$ t
具体的公式编辑命令:
8 U! L0 ~2 A/ f, o  G+ u1.上标用^和下表用_,希腊字母与tex一样,即alpha表示α。& J' B( g7 Z4 \6 e8 w6 K; l
2.求和: $$sum_{i=1}^{n} x_{i}$$
0 p6 E% V/ x2 I3.积分: $$ int_{0}^{1}$$
) ]8 ]$ c, K* b$ F2 M4.求极限: $$lim_{n rightarrow infty}$$  %n趋于无穷符号在lim正下方
) x3 P+ q1 e2 i, }$lim_{n rightarrow infty} $ %趋于无穷符号在lim右下角
* A6 k0 N- x5 G2 r' M5. 分式: $$frac{1}x$$  %1/x
7 j! E: H8 c9 e7 n, r( f6. 根式: $$sqrt{x}$$
9 K; O! c2 @% m; F9 N. Z, a7. 上划线: $$overline{x}$$
: S* q0 b/ b7 X$ O8. 下划线: $$underline{x}$$  %下划线在x的正下方5 p$ E1 U5 B. ]  w5 [* L
9.卧式花括号命令: $$overbrace{x+y+z+w}$$
2 M  e5 m4 ^, [10.仰式花括号命令: $$a+underbrace{b+c+d} $$# l* @2 T- ~5 k2 [
11.戴帽命令: $$hat{o} check{o} breve{o}$$
0 h0 ~6 o6 h$ D' g4 d$ Q7 e$ q) ^$$widehat{A+B} widetilde{a+b}$$' |# F1 w9 j& t, K+ |8 V- O
$$vec{imath}+vec{jmath}=vec{k}$$" m, H) B% G0 i% v; e3 d$ Y1 U8 m
12.堆砌命令: $$ystackrel{rm def}{=} f(x) stackrel{xrightarrow 0}{rightarrow} A$$
& `( d( B. ~+ P3 |6 k13.省略号: $cdots ldots vdots ddots $
! z! p4 M7 s! z(1)Tex字符的字体设置有如下6种。
1 ~* v4 a! S2 |) p3 j①bf:设置字体为粗体字。
2 g. }" F. v& v, N5 i- I7 e②it:设置字体为斜体字。
: a) h5 S% @6 D( _. e( h) {③sl:设置字体为斜体字,很少使用。
, r7 @+ c3 s2 ?. y1 q7 w- \& D2 V④rm:设置字体为正常字体。( n4 q/ M( P2 |: ~3 w
⑤fontname{字体名}:设置字体名。例如:fontname{宋体}。- d9 L6 Q+ B0 ~; Y2 I
⑥fontsize{字体大小}:设置字体大小。例如:fontsize{16}。' W$ P2 K' Y  P# A. A6 E
(2)Tex字符的颜色设置有下面两种方法。5 w+ T0 [+ Y0 j( v- I" |# J
①color{颜色名}颜色名:颜色名有12种,分别为red、green、yellow、magenta、blue、black、white、 cyan、gray、barkGreen、orange和lightBlue。例如:color{magenta}magenta。" n+ Z& K% @  ^" p3 I7 H
②color[rgb]{a b c}:设置字体颜色为RGB矩阵[a b c]所表示的颜色。 a、b和c都在[0 1] 范围内。例如:color[rgb]{0 .5 .5}。; O+ p" I; m! b/ Q2 Q3 e
(3)Tex字符的位置有2种设置。9 h/ u) ^1 {9 Y8 T( }3 F: ~
①_:表示下标。 ②^:表示上标。
* X; J8 ~" B8 j: V6 f/ \7 D2 h+ W

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 01:45 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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