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

Matlab中巧用LaTex

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Matlab中巧用LaTex
/ Q# m9 i- z4 S众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β等。但大多数人往往是利用图像后处理软件如Photoshop或illustrator等对生成的图片进行加工。' e7 @4 c6 z% @0 ~
Latex是被公认的生成公式最漂亮的排版语言(软件),成为事实上学术排版的标准。那么能否利用latex生成公式插入到Matlab生成的图片中呢?答案是肯定的。* E: c% V0 }9 n4 D
Matlab带有Latex解析器,能支持latex的各种符号,比如积分符号等等
' t5 d0 Y! ^6 `7 g" z, L; P: Q3 [7 L$ L; Q4 i
$ r( x8 @- B0 z$ i4 C, p
Matlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性有三个属性:latex 、tex、none。默认为tex。
+ b, x6 y% f3 \+ `( r" S当键入:>> set(text,'Interpreter')
6 r# G% A+ N5 D6 nMatlab将返回'Interpreter'所包含的属性值:5 l) F0 M8 N4 \7 P
[ latex | {tex} | none ]。
5 o& D9 r: @, B* B! |1 N) V利用Matlab文本的Interpreter属性使我们能在图形中显示一个较为复杂的公式,例如在公式中除了有希腊字母外,还有分号、根号等数学符号。
# S8 l* U' D4 J- m" _* t7 J  G, hTex的用法在Matlab的帮助文档里有详细介绍,这里主要介绍一下如何采用latex编辑公式。1 w* v7 N$ ~- o/ O# I( w" a
在matlab中,Latex编辑公式的基本格式:
" n- c% t3 N: [" n( L: {: X1、(   LaTeX命令  )! a9 S4 L) u3 x; ~
2、$   LaTeX命令  $
- h1 Z: h/ A$ r3、$$  LaTeX命令  $$. }: s9 q# V! c& R% i

+ P- J9 n6 }! L( w1. 在图象中直接加字符,很简单。+ Q. f# \) B/ O3 v+ x$ E
text('Interpreter','latex','String','$$sqrt{x^2+y^2}$$','Position',[.5.5],… 'FontSize',16);
2 G1 _( O+ I& U, }0 R/ V  T4 a2.  在legend里加数学字符  ! N) r; c& d! |$ s' ]2 w  l  D
h=legend('$$sqrt{x^2+y^2}$$');6 _" |; A) U6 C% s# a3 T! f% Z
set(h,'Interpreter','latex')
. |9 A( f. p6 N! _" T+ t. k以Matlab图形中的textbox属性为例,首先在图形中输入一个双重积分,然后输入一个Schrodinger方程。命令为:
8 H( r4 m9 D& P) m/ G输出结果为& E. b9 C. Z3 o- O- Y% w: u, t9 O+ f% }
% ?+ F* u( w* ~& T
当然也可以使用( )命令。以此类推也可以对title、xlabel、ylabel、zlabel和legend等使用LaTeX命令,如:* j/ K6 G) Z+ b! a
xlabel({'$int_0^x!int_y dF(u,v)$'},'Interpreter','latex'): y- y1 \+ R5 ?6 Z( D7 ?
至于LaTeX命令使用方法可以参考LaTeX教程。) h) l) [) d" T) g2 ~! e

' d! s* S& n: ?  h! [( p/ v* w/ z5 b9 c  N9 Y* t
另外,Matlab可以吧计算结果转化成Latex格式,对于Matlab计算出的符号运算结果,可以通过latex()函数转化成LeTeX命令格式。由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号结果。所以,为防止对数值结果转化出错,可同时使用latex()和sym()函数:latex(sym(s)); 其中s代表符号表达式。/ ~: H9 b9 g' g

; ?/ k0 |5 K+ C3 j1 J# Z3 A5 @例如:>>syms a b c
5 b7 k5 t1 Z( L. Y5 S5 Is=a/b+c
& @+ y6 I4 P2 H: d/ h使用latex(s)后转化为LeTeX命令:
4 b6 I' Q% X% m8 @$ M{frac {a}{b}}+c
6 X! `4 h8 ~/ Z8 bTex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。函数title、xlabel、ylabel、zlabel或text都能 创建一个text对象,因此Tex字符转义符(带“”的字符串)经常作为这些函数的输入参数。如果要输出希腊字母,可以使用texlabel函数将希腊 字母的变量名转化为希腊字母的函数,供函数title、xlabel、ylabel、zlabel或text使用。texlabel转换MATLAB表达式为等价的Tex格式字符串。它处理希腊字母的变量名为实际显示的希腊字母字符串。希腊字母的变量名为“”后面的字符串。
% i5 p; A: U# Q5 N* a+ a7 ^+ i' HTex字符及其函数表, d, d0 R+ h* x
函数字符        代表符号        函数字符        代表符号        函数字符        代表符号4 B, k' Z- [4 b3 x( j9 h3 ~9 E
alpha        α        upsilon        υ        sim        ~4 ?* p9 U1 Y+ I7 j) ?7 K2 M! Q
beta        β        phi        ϕ        leq        ≤
* [0 X1 s  o+ ?2 igamma        γ        chi        χ        infty        ∞* M0 Q2 H! |* u+ t/ Q
delta        δ        psi        ψ        clubsuit         
* R) B1 w9 D% _! |epsilon        ϵ        omega        ω        diamondsuit         5 e. h" F7 A. o, N3 S# B5 ?
zeta        ζ        Gamma        Γ        heartsuit         
3 N1 H9 e) a( P/ t, Weta        η        Delta        Δ        spadesuit         
% o1 R' p6 b! e3 Z- ?( r+ Qtheta        θ        Theta        Θ        leftrightarrow        ↔: }) C& Z) Q+ W0 s& b0 Q
vartheta        ϑ        Lambda        Λ        leftarrow        ←
1 w# E  c0 b* r; H7 [. P( E3 CIoTa        ι        Xi        Ξ        uparrow        ↑' e8 ^" c8 f0 X- n& g6 u
kappa        κ        Pi        Π        rightarrow        →
- A. T  d5 N' ?1 l  M" o/ dlambda        λ        Sigma        Σ        downarrow        ↓
) t2 b+ v9 J/ B5 Z, fmu        μ        Upsilon        Υ        circ        °
6 _2 F9 V3 K5 G5 a3 ?; y! R, lnu        ν        Phi        Φ        pm        ±
7 E  c$ e" v1 N( j# D( A# B; y( oxi        ξ        Psi        Ψ        geq        ≥: }! Z2 y+ j* O5 V
pi        π        Omega        Ω        propto        ∝
, Z& G% ], G$ S6 u9 |3 q; K2 Xrho        ρ        forall        ∀        partial        ∂+ ]- i9 T( b! g+ @
sigma        σ        exists        ∃        bullet        ∙0 O5 ?# u( [- V& C; C
varsigma        ς        ni                 div        ÷" M4 K# L% o: l* A* o
tau        τ        cong        ≅        neq        ≠8 e7 f, x- H0 t
equiv        ≡
+ h, N! N& v! P% n" G: O        approx        ≈        aleph        ℵ
  s) h& `1 s2 F: a1 m' |Im                 Re                 wp           I( t4 u$ ^5 |" U
otimes        ⊗        oplus        ⊕        oslash         : g& v; s0 ^- e# p/ ?$ D* r9 W4 O
cap        ∩        cup        ∪        supseteq        ⊇
9 X' U4 }9 D# X0 @supset        ⊂        subseteq        ⊆        subset        ⊃0 Z' C  a; S2 I
int        ∫        in        ∈        o        ο
8 q, C- B0 D1 ]/ @RFloor                 lceil                 nabla         0 t/ c) S" ^/ l& _" \  ]" _
lfloor                 cdot                 ldots         
9 |# u+ N  a0 o0 T4 `perp                 neg                 prime         + _( T3 k4 \7 s. x! N, e5 `  `
wedge                 times                         ∅  {" u8 q# i/ Q
rceil                 surd                 mid        |2 M  d3 G. m) r8 K) G5 }1 [
vee                 varpi                 copyright        ©( M* m: H3 R& s
langle                 rangle                        
& D  T0 W* L1 b6 n) A! A% T* [具体的公式编辑命令:9 j$ `7 ]/ M8 d- _+ |
1.上标用^和下表用_,希腊字母与tex一样,即alpha表示α。
* X% H$ ~* I: C7 d7 c  ~: {. G- a2.求和: $$sum_{i=1}^{n} x_{i}$$% @5 w, a  o0 Y4 m2 W0 T! }" e
3.积分: $$ int_{0}^{1}$$& M7 S* v: N- T; e$ \- B& N: a
4.求极限: $$lim_{n rightarrow infty}$$  %n趋于无穷符号在lim正下方* r' a# `4 Y. M& X, H* j8 B
$lim_{n rightarrow infty} $ %趋于无穷符号在lim右下角6 |. {8 w5 X, Y1 ~0 m
5. 分式: $$frac{1}x$$  %1/x; N$ W6 K9 ~1 R4 G+ r, R
6. 根式: $$sqrt{x}$$7 ^; m8 Y# Y/ y$ H1 W
7. 上划线: $$overline{x}$$
) D: I. P7 ]2 q2 s1 N8. 下划线: $$underline{x}$$  %下划线在x的正下方6 Z3 q$ n! {) ]7 d( A$ M
9.卧式花括号命令: $$overbrace{x+y+z+w}$$
3 |7 D5 E1 b: L10.仰式花括号命令: $$a+underbrace{b+c+d} $$5 @% r/ \# @/ P' a2 c
11.戴帽命令: $$hat{o} check{o} breve{o}$$, z" X) R/ T! \( p0 e; o
$$widehat{A+B} widetilde{a+b}$$0 a9 L& ]+ T5 f2 b
$$vec{imath}+vec{jmath}=vec{k}$$1 Z. X) k+ |; \
12.堆砌命令: $$ystackrel{rm def}{=} f(x) stackrel{xrightarrow 0}{rightarrow} A$$3 H/ M" A- ^. W/ ]  t+ L
13.省略号: $cdots ldots vdots ddots $( ]1 z: \. B, `% a
(1)Tex字符的字体设置有如下6种。
" ~! g( s* h* Z  N' Q2 H①bf:设置字体为粗体字。/ Y; k; k- ?8 B" v0 P3 Q
②it:设置字体为斜体字。
+ t. c4 U) E: @" C0 }- k; O③sl:设置字体为斜体字,很少使用。
6 j* J$ m$ s" s7 v④rm:设置字体为正常字体。
6 v. [1 ]2 w- o- _$ M5 V$ R⑤fontname{字体名}:设置字体名。例如:fontname{宋体}。* E8 F4 @% {- C9 Z5 p
⑥fontsize{字体大小}:设置字体大小。例如:fontsize{16}。/ X# z' W$ ~9 d: l2 [7 X7 M* S
(2)Tex字符的颜色设置有下面两种方法。- W9 n* c/ U# Z- n% O' H
①color{颜色名}颜色名:颜色名有12种,分别为red、green、yellow、magenta、blue、black、white、 cyan、gray、barkGreen、orange和lightBlue。例如:color{magenta}magenta。$ S: T1 {' }+ {3 ]$ [
②color[rgb]{a b c}:设置字体颜色为RGB矩阵[a b c]所表示的颜色。 a、b和c都在[0 1] 范围内。例如:color[rgb]{0 .5 .5}。: \( L3 G2 Z0 d- F4 C, b8 z; Y
(3)Tex字符的位置有2种设置。: C; |; \) X5 y9 z
①_:表示下标。 ②^:表示上标。
1 y! r7 v& a4 h" h& `. {, t. R0 ?

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-22 09:15 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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