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

Matlab中巧用LaTex

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Matlab中巧用LaTex
! O* p) n5 c* c9 i众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β等。但大多数人往往是利用图像后处理软件如Photoshop或illustrator等对生成的图片进行加工。
( z8 ]# A' b4 l2 r& FLatex是被公认的生成公式最漂亮的排版语言(软件),成为事实上学术排版的标准。那么能否利用latex生成公式插入到Matlab生成的图片中呢?答案是肯定的。
  h0 \0 p5 |* e  A' M) lMatlab带有Latex解析器,能支持latex的各种符号,比如积分符号等等
" t/ w6 R1 j3 b, }* Q! \& z& q% o% l6 Z: e: X8 T. u

) }0 r8 i2 f# p- i) `0 U" _Matlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性有三个属性:latex 、tex、none。默认为tex。
) G$ P& y! [+ x( U9 ~当键入:>> set(text,'Interpreter')
3 T% g7 K& q  P0 M, B+ \Matlab将返回'Interpreter'所包含的属性值:6 W5 O3 O+ w9 X2 `/ x1 X+ C6 d
[ latex | {tex} | none ]。
8 M0 y" w+ e5 S7 @% f2 B利用Matlab文本的Interpreter属性使我们能在图形中显示一个较为复杂的公式,例如在公式中除了有希腊字母外,还有分号、根号等数学符号。
- W: E" E& E& E2 K4 |8 w2 K& ~Tex的用法在Matlab的帮助文档里有详细介绍,这里主要介绍一下如何采用latex编辑公式。- G$ E6 X5 t0 G! E! C6 A' b7 T/ f
在matlab中,Latex编辑公式的基本格式:
8 C3 i7 v/ g  Q* e; I# C1、(   LaTeX命令  )) T+ M) H9 L& K& q
2、$   LaTeX命令  $
8 J; r2 E0 w- ~# v7 }9 E& a3、$$  LaTeX命令  $$
  u( R1 y& v3 w- Q6 V- E( C! ^; {# s
2 r0 ~3 |; v1 D# E" e. F1. 在图象中直接加字符,很简单。6 N! ~8 f& V, J/ l+ k
text('Interpreter','latex','String','$$sqrt{x^2+y^2}$$','Position',[.5.5],… 'FontSize',16);% L& C* e  U6 f4 z2 D2 Y, b7 j
2.  在legend里加数学字符  
! Y: a* F' S* ^& A" W5 E/ x; oh=legend('$$sqrt{x^2+y^2}$$');
9 N- e/ A# j4 O" p3 z( C2 Yset(h,'Interpreter','latex')4 Z" d% g. |; Y: s
以Matlab图形中的textbox属性为例,首先在图形中输入一个双重积分,然后输入一个Schrodinger方程。命令为:* ?; j) B6 f' L
输出结果为6 W& @3 q& {6 Y$ V4 k% |: L2 ^
) E) S6 p) }! S$ ?" b4 L3 E
当然也可以使用( )命令。以此类推也可以对title、xlabel、ylabel、zlabel和legend等使用LaTeX命令,如:5 k! O2 Q" J1 U3 K/ T% A" ]% \
xlabel({'$int_0^x!int_y dF(u,v)$'},'Interpreter','latex')
! W9 {$ o4 Q$ o. e3 u至于LaTeX命令使用方法可以参考LaTeX教程。
* ]: ~" x& a8 |4 |4 t7 z0 J$ P" s
  q$ L+ @: y; J, ^& F; ?
另外,Matlab可以吧计算结果转化成Latex格式,对于Matlab计算出的符号运算结果,可以通过latex()函数转化成LeTeX命令格式。由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号结果。所以,为防止对数值结果转化出错,可同时使用latex()和sym()函数:latex(sym(s)); 其中s代表符号表达式。; E1 |* v: w" J7 ^: W/ h
3 a1 h# u* W# E! t0 b
例如:>>syms a b c
( Z" A6 F& J' {9 w+ s! u$ ~5 Ws=a/b+c
/ h+ j2 d5 y6 ?" b( m$ K使用latex(s)后转化为LeTeX命令:7 s% u" F; O& g1 V9 u
{frac {a}{b}}+c/ V+ u: T+ Y9 x% H! `  K
Tex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。函数title、xlabel、ylabel、zlabel或text都能 创建一个text对象,因此Tex字符转义符(带“”的字符串)经常作为这些函数的输入参数。如果要输出希腊字母,可以使用texlabel函数将希腊 字母的变量名转化为希腊字母的函数,供函数title、xlabel、ylabel、zlabel或text使用。texlabel转换MATLAB表达式为等价的Tex格式字符串。它处理希腊字母的变量名为实际显示的希腊字母字符串。希腊字母的变量名为“”后面的字符串。
9 P% p/ i, P) Y% @* t4 ZTex字符及其函数表, x0 k; L0 K8 T; J( `) d& X
函数字符        代表符号        函数字符        代表符号        函数字符        代表符号: ]8 \, n* ^$ U1 Z  {$ K
alpha        α        upsilon        υ        sim        ~2 E" X# R- _' o
beta        β        phi        ϕ        leq        ≤
; Z' K+ }' u, O3 I: n$ bgamma        γ        chi        χ        infty        ∞) M+ M! P2 E  _% a" a
delta        δ        psi        ψ        clubsuit         ' o0 l& L4 B+ R0 D+ I5 @. q
epsilon        ϵ        omega        ω        diamondsuit         9 z4 ]+ H) r: s. o5 y: F
zeta        ζ        Gamma        Γ        heartsuit         5 i8 {; }& m9 s; {8 I
eta        η        Delta        Δ        spadesuit         
* h; \0 d" S. ]. p- a) z& h6 f1 P  _theta        θ        Theta        Θ        leftrightarrow        ↔
" Q  y* W, p7 ~" X8 P9 gvartheta        ϑ        Lambda        Λ        leftarrow        ←. }: q# p2 C3 _) }
IoTa        ι        Xi        Ξ        uparrow        ↑% R: k0 i3 ]3 l6 h2 X- ?# Y: K
kappa        κ        Pi        Π        rightarrow        →
  G. I4 |- y+ I/ C7 k5 r) p5 H4 xlambda        λ        Sigma        Σ        downarrow        ↓
  D  v9 h- |2 R2 A- x' Hmu        μ        Upsilon        Υ        circ        °
2 n, S' U0 W, o2 _  N* n6 Enu        ν        Phi        Φ        pm        ±2 X: Q7 K% d9 @! [% `, u! e9 d
xi        ξ        Psi        Ψ        geq        ≥5 ^5 e7 C; v$ T8 {' X! c( s, t
pi        π        Omega        Ω        propto        ∝! b  v1 k' l" i4 X
rho        ρ        forall        ∀        partial        ∂
0 j; `6 I8 T  S% A1 D, \! c  Xsigma        σ        exists        ∃        bullet        ∙; X: Q  R+ O5 Y0 q, ]+ u
varsigma        ς        ni                 div        ÷; l4 m; \4 s$ Y& \: e) e$ D  \
tau        τ        cong        ≅        neq        ≠% f, i1 y4 u- W  v" h
equiv        ≡# Y9 G5 R+ e+ Q; Y+ U
        approx        ≈        aleph        ℵ2 X* S- J% X8 M
Im                 Re                 wp         
) e1 u' v( h& ~3 J' o; a  n) Ootimes        ⊗        oplus        ⊕        oslash         
  m6 Z; l  K  I& \6 J: W  Ccap        ∩        cup        ∪        supseteq        ⊇
& C# o2 {  J0 q& w; A" G( xsupset        ⊂        subseteq        ⊆        subset        ⊃* d6 o! Y/ U' _, p* W
int        ∫        in        ∈        o        ο
0 N' i5 a( _6 m8 ~( B8 {- `7 H9 k* A! wRFloor                 lceil                 nabla         . j9 Y! e* x* q3 R+ V! I7 B6 f
lfloor                 cdot                 ldots         3 O+ S( m; O1 O( f3 ]# `$ o
perp                 neg                 prime         
8 Y; E$ B8 y4 a3 ]0 G: C9 Cwedge                 times                         ∅8 d" {  @5 j6 e1 [7 o6 H
rceil                 surd                 mid        |& [, |( \- B2 O* k, K* p
vee                 varpi                 copyright        ©. I( i5 t- z8 [2 k( @
langle                 rangle                        - h  N: L; J' z6 ~, @0 }% V4 b
具体的公式编辑命令:1 b! w- S' r4 v7 _- |
1.上标用^和下表用_,希腊字母与tex一样,即alpha表示α。" I9 }% {' L/ X0 T! T
2.求和: $$sum_{i=1}^{n} x_{i}$$
! k( U: Q) x1 @- N$ f1 Y$ V3.积分: $$ int_{0}^{1}$$$ T0 |% L; q" {" z% r
4.求极限: $$lim_{n rightarrow infty}$$  %n趋于无穷符号在lim正下方
0 z, L- \4 @" k6 M  L6 p$lim_{n rightarrow infty} $ %趋于无穷符号在lim右下角
' E- h5 P: q! Q) t$ S/ P5. 分式: $$frac{1}x$$  %1/x
+ q) l, u( h' L: {7 I6. 根式: $$sqrt{x}$$+ }: M3 U) a; F+ u9 }8 K* g/ ?
7. 上划线: $$overline{x}$$  I! ^4 d/ _+ t
8. 下划线: $$underline{x}$$  %下划线在x的正下方# m, X7 |; }3 B8 V
9.卧式花括号命令: $$overbrace{x+y+z+w}$$1 ~5 K0 i' G" e7 b% Y* E
10.仰式花括号命令: $$a+underbrace{b+c+d} $$
3 G& h( ?; z# @7 D3 O: Q11.戴帽命令: $$hat{o} check{o} breve{o}$$$ A, Z3 T. K* N: ]2 A  p) r
$$widehat{A+B} widetilde{a+b}$$
' ]' F: ~* O, }, N8 z9 x& K$$vec{imath}+vec{jmath}=vec{k}$$
: B+ o: Z5 ~% ?9 j2 D& X) L2 n12.堆砌命令: $$ystackrel{rm def}{=} f(x) stackrel{xrightarrow 0}{rightarrow} A$$
6 c1 f% r3 q" _! z' d13.省略号: $cdots ldots vdots ddots $: k8 S# `& y2 U9 D1 U$ }
(1)Tex字符的字体设置有如下6种。" a& Z( f/ s% y/ E* K% p' E' i- b
①bf:设置字体为粗体字。
4 Y# \6 G0 V" n# L% x②it:设置字体为斜体字。
% \, C$ ^  I! h1 Y1 S③sl:设置字体为斜体字,很少使用。
) ?6 M' S5 |% }' h: M, y1 W* ?6 i④rm:设置字体为正常字体。
% S; b5 m- s6 W+ n, a" D⑤fontname{字体名}:设置字体名。例如:fontname{宋体}。
; m' o+ b0 x" Q! z: ~( _⑥fontsize{字体大小}:设置字体大小。例如:fontsize{16}。! d3 J9 C5 D2 z9 @8 \# t
(2)Tex字符的颜色设置有下面两种方法。+ T8 |% ]3 r, p# P( G* z
①color{颜色名}颜色名:颜色名有12种,分别为red、green、yellow、magenta、blue、black、white、 cyan、gray、barkGreen、orange和lightBlue。例如:color{magenta}magenta。
* _: ?8 q+ B7 }* z% y, r  p) N②color[rgb]{a b c}:设置字体颜色为RGB矩阵[a b c]所表示的颜色。 a、b和c都在[0 1] 范围内。例如:color[rgb]{0 .5 .5}。( D( [3 v" ]4 I0 |  w
(3)Tex字符的位置有2种设置。
) r5 ?; \5 L3 y; b0 B①_:表示下标。 ②^:表示上标。9 j( s0 }$ W& L, c

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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