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

Matlab中巧用LaTex

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Matlab中巧用LaTex8 y* i+ S% j& K' M1 B# `  J
众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β等。但大多数人往往是利用图像后处理软件如Photoshop或illustrator等对生成的图片进行加工。1 _8 i, h7 m6 F+ v8 Z2 ]
Latex是被公认的生成公式最漂亮的排版语言(软件),成为事实上学术排版的标准。那么能否利用latex生成公式插入到Matlab生成的图片中呢?答案是肯定的。) Z% g9 Y5 R0 z) M+ }7 }; e
Matlab带有Latex解析器,能支持latex的各种符号,比如积分符号等等
+ K0 x7 M- G  N9 l7 l
* |; Z/ _  K6 S! b5 Z3 x5 y
) J- B5 ~& w1 vMatlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性有三个属性:latex 、tex、none。默认为tex。
+ `4 b* q1 d  [  t当键入:>> set(text,'Interpreter')2 Y5 ]/ K! e( t3 u
Matlab将返回'Interpreter'所包含的属性值:$ s: ?7 I( s) R
[ latex | {tex} | none ]。
9 `) k3 x  Q' {' l6 t利用Matlab文本的Interpreter属性使我们能在图形中显示一个较为复杂的公式,例如在公式中除了有希腊字母外,还有分号、根号等数学符号。5 G7 h, v; H# q9 d% h
Tex的用法在Matlab的帮助文档里有详细介绍,这里主要介绍一下如何采用latex编辑公式。
6 l' u- l3 N( P( B' [* c" D* e在matlab中,Latex编辑公式的基本格式:
+ ]& Z# j, `% \7 M; m9 W- c1、(   LaTeX命令  )# m9 ~  g% [$ @5 S7 \9 T
2、$   LaTeX命令  $
2 e# {6 u/ Y7 f9 G$ p  N4 g3、$$  LaTeX命令  $$
4 V: b- z# c; I9 q( w" p; R9 _
1 c3 r6 I+ c- Q3 K; ^1. 在图象中直接加字符,很简单。
1 m8 }2 t' ?' f/ Btext('Interpreter','latex','String','$$sqrt{x^2+y^2}$$','Position',[.5.5],… 'FontSize',16);
9 W' I; I3 P2 J' E5 ^3 h- o$ W  R$ ?2.  在legend里加数学字符  
8 g9 ]3 m) |7 L0 \* n0 |h=legend('$$sqrt{x^2+y^2}$$');1 g* j6 x* @# y, P4 H& \1 R  W
set(h,'Interpreter','latex')
. a% C" n) g# `+ T6 U以Matlab图形中的textbox属性为例,首先在图形中输入一个双重积分,然后输入一个Schrodinger方程。命令为:" B0 q* u) R' E: A$ U: |
输出结果为
: R  _! Z( T% _8 h
. f( Z& Q6 {( l当然也可以使用( )命令。以此类推也可以对title、xlabel、ylabel、zlabel和legend等使用LaTeX命令,如:
0 \  W1 a- `7 Sxlabel({'$int_0^x!int_y dF(u,v)$'},'Interpreter','latex')! |4 e3 e2 a# @& N8 {+ X9 ~
至于LaTeX命令使用方法可以参考LaTeX教程。
) Q4 b, y/ F- G9 ~! P* h7 `5 y) g* e- Q' Y( ~9 H5 [

, U! b6 U. k% ?6 P+ k3 V. B3 t- S7 n另外,Matlab可以吧计算结果转化成Latex格式,对于Matlab计算出的符号运算结果,可以通过latex()函数转化成LeTeX命令格式。由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号结果。所以,为防止对数值结果转化出错,可同时使用latex()和sym()函数:latex(sym(s)); 其中s代表符号表达式。
9 b4 w+ q  q; G! {9 `/ G; F8 g; ~2 ~' I& \5 O. S2 a( z
例如:>>syms a b c) ^( U: ~, {& G  i, j+ E
s=a/b+c
7 M# d) E3 ]; F. }" {使用latex(s)后转化为LeTeX命令:& S- C7 Y3 a0 a; Z( ^
{frac {a}{b}}+c" `: c9 R6 z% A$ F5 a- H
Tex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。函数title、xlabel、ylabel、zlabel或text都能 创建一个text对象,因此Tex字符转义符(带“”的字符串)经常作为这些函数的输入参数。如果要输出希腊字母,可以使用texlabel函数将希腊 字母的变量名转化为希腊字母的函数,供函数title、xlabel、ylabel、zlabel或text使用。texlabel转换MATLAB表达式为等价的Tex格式字符串。它处理希腊字母的变量名为实际显示的希腊字母字符串。希腊字母的变量名为“”后面的字符串。
" z1 [* y, [' q6 X, ^# r. F2 nTex字符及其函数表5 l0 O! Z8 v2 m8 q. E2 P
函数字符        代表符号        函数字符        代表符号        函数字符        代表符号
$ T6 T, L- k$ qalpha        α        upsilon        υ        sim        ~
1 J2 F' _  F! C- b; W7 dbeta        β        phi        ϕ        leq        ≤
% g# j3 j7 D% [9 F- h; kgamma        γ        chi        χ        infty        ∞3 i2 x1 ^; s) [( _; u6 w: w
delta        δ        psi        ψ        clubsuit         
# d* J- i- T/ vepsilon        ϵ        omega        ω        diamondsuit         & [* d4 |8 f0 {! I  P( m: J, Q
zeta        ζ        Gamma        Γ        heartsuit         
. b1 B* P' x; A1 \: V3 T1 u; Ieta        η        Delta        Δ        spadesuit         
, E: b7 b% q2 K# Q  a8 Mtheta        θ        Theta        Θ        leftrightarrow        ↔
3 s* o% `. L4 X6 a. Lvartheta        ϑ        Lambda        Λ        leftarrow        ←
2 J4 S, I" e3 xIoTa        ι        Xi        Ξ        uparrow        ↑! G: V9 c5 P8 H8 }5 E
kappa        κ        Pi        Π        rightarrow        →
8 j& Q# k; U3 S! d% k, x1 g' \$ `1 nlambda        λ        Sigma        Σ        downarrow        ↓
3 W% ~: L' ^% F  Kmu        μ        Upsilon        Υ        circ        °
; ~. d* X" B3 Cnu        ν        Phi        Φ        pm        ±0 R  a/ q" Q7 _' u1 z( {, K
xi        ξ        Psi        Ψ        geq        ≥( B( P+ T& O. L
pi        π        Omega        Ω        propto        ∝" ^9 h; z4 i5 K4 q
rho        ρ        forall        ∀        partial        ∂
9 b  h5 z( I7 s1 j0 G, Z5 l* msigma        σ        exists        ∃        bullet        ∙- ]# c6 F2 \8 B( e/ N; D$ F: e3 z# U: W
varsigma        ς        ni                 div        ÷$ v) L1 p9 f6 G' n. j
tau        τ        cong        ≅        neq        ≠7 _; h: [" E7 Q! d$ \1 I
equiv        ≡
4 b. x5 h8 A3 E% c7 e* K; l7 C# R0 ?        approx        ≈        aleph        ℵ
* s! y5 K* Y* Q) iIm                 Re                 wp         
( q3 g5 M  ~7 }9 Wotimes        ⊗        oplus        ⊕        oslash         
3 w, p' _' B( w5 C& bcap        ∩        cup        ∪        supseteq        ⊇
  V; S/ n- ~- Q( `supset        ⊂        subseteq        ⊆        subset        ⊃2 t  k- a5 j% \9 j& }8 Q  E
int        ∫        in        ∈        o        ο" p) n3 N( C1 [
RFloor                 lceil                 nabla         * s! J. Y# }$ P1 e  J
lfloor                 cdot                 ldots         9 L  `5 s6 s3 d/ V1 c
perp                 neg                 prime         + a8 j- F+ L* r
wedge                 times                         ∅  m% ?# G1 Q* h8 D6 P3 [
rceil                 surd                 mid        |+ R: `* j5 `, x5 v
vee                 varpi                 copyright        ©5 k2 K& _% U. M7 Y  K
langle                 rangle                        
0 o3 c( `8 |' `1 E9 `2 z具体的公式编辑命令:# U, f: r5 |; X" T; u# [
1.上标用^和下表用_,希腊字母与tex一样,即alpha表示α。
8 z9 n# i: w! v, V& j& ^2.求和: $$sum_{i=1}^{n} x_{i}$$$ `( u4 B% M! X% _
3.积分: $$ int_{0}^{1}$$! J& `+ \$ C0 |) x; P
4.求极限: $$lim_{n rightarrow infty}$$  %n趋于无穷符号在lim正下方
- \, @/ {- Q) T+ E4 O( ^% g$lim_{n rightarrow infty} $ %趋于无穷符号在lim右下角2 K. @; {/ }+ M( E+ E
5. 分式: $$frac{1}x$$  %1/x) ?/ y$ P6 K9 {' E% W; r$ H$ {
6. 根式: $$sqrt{x}$$/ `3 ]! t$ C9 q  P
7. 上划线: $$overline{x}$$
  z) v0 ^# m# L8. 下划线: $$underline{x}$$  %下划线在x的正下方
& v# k+ G5 K6 I9 q& v  m# S. W9.卧式花括号命令: $$overbrace{x+y+z+w}$$
4 K8 p1 k. l3 z- ~+ b10.仰式花括号命令: $$a+underbrace{b+c+d} $$6 m# U6 D' b+ f
11.戴帽命令: $$hat{o} check{o} breve{o}$$: Q# ?# b/ }( @8 Y9 _
$$widehat{A+B} widetilde{a+b}$$
8 A# q7 J4 L5 V4 m/ O+ x$$vec{imath}+vec{jmath}=vec{k}$$4 T3 C* Z$ Y6 j. G) w
12.堆砌命令: $$ystackrel{rm def}{=} f(x) stackrel{xrightarrow 0}{rightarrow} A$$' G* C3 O% v1 c$ j' l, R  L& V4 E
13.省略号: $cdots ldots vdots ddots $+ d  ]& |9 r+ B- A+ w3 t
(1)Tex字符的字体设置有如下6种。
- B) j& t- Q8 [5 K, G3 q①bf:设置字体为粗体字。1 B0 X$ b5 q8 }# r4 j$ o, a
②it:设置字体为斜体字。
$ q: i, i* v. l- R- J③sl:设置字体为斜体字,很少使用。$ w% L+ q  L! C2 G& J
④rm:设置字体为正常字体。
9 D) F; h8 t9 p9 ?  _⑤fontname{字体名}:设置字体名。例如:fontname{宋体}。8 ]* G4 x' R. [0 u
⑥fontsize{字体大小}:设置字体大小。例如:fontsize{16}。$ ~1 W4 z# |2 B( c: o. n* o
(2)Tex字符的颜色设置有下面两种方法。
& f4 S9 K3 x/ ^/ @2 C* t①color{颜色名}颜色名:颜色名有12种,分别为red、green、yellow、magenta、blue、black、white、 cyan、gray、barkGreen、orange和lightBlue。例如:color{magenta}magenta。) P! G9 `1 e+ e6 b8 A7 _) P+ \
②color[rgb]{a b c}:设置字体颜色为RGB矩阵[a b c]所表示的颜色。 a、b和c都在[0 1] 范围内。例如:color[rgb]{0 .5 .5}。; D6 H. c+ |% e( G$ j1 \% w
(3)Tex字符的位置有2种设置。
5 T1 V+ M, s: i, j+ q& @/ @①_:表示下标。 ②^:表示上标。
. m# h% P% H+ g& k

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-6 17:10 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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