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

Matlab中巧用LaTex

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Matlab中巧用LaTex
! T5 j8 S5 [4 I$ x, H" W( D! N众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β等。但大多数人往往是利用图像后处理软件如Photoshop或illustrator等对生成的图片进行加工。$ ]2 F' }" |9 {$ g: w6 Q1 e- j" Z" e
Latex是被公认的生成公式最漂亮的排版语言(软件),成为事实上学术排版的标准。那么能否利用latex生成公式插入到Matlab生成的图片中呢?答案是肯定的。
7 w* l" j1 e4 }6 n. gMatlab带有Latex解析器,能支持latex的各种符号,比如积分符号等等0 T3 p/ @( c1 z/ v+ O5 K

) b4 ]2 b) A2 i, Z: i, d# b2 f0 J& F: |) x- G: p  _) U
Matlab图形中title、xlabel、ylabel、zlabel、textbox和legend等的Interpreter属性有三个属性:latex 、tex、none。默认为tex。( x% E& e" ~' m3 a; h$ x
当键入:>> set(text,'Interpreter')
6 ^& s0 W+ J: w, q# `) kMatlab将返回'Interpreter'所包含的属性值:
/ @7 k5 ^; t& ^& l( @2 r2 ][ latex | {tex} | none ]。
& `5 q3 ]/ M+ C! u2 |' M利用Matlab文本的Interpreter属性使我们能在图形中显示一个较为复杂的公式,例如在公式中除了有希腊字母外,还有分号、根号等数学符号。
# @$ y: F. T, dTex的用法在Matlab的帮助文档里有详细介绍,这里主要介绍一下如何采用latex编辑公式。
6 e3 w. A3 g) x! ?. M! N在matlab中,Latex编辑公式的基本格式:
9 F- z# ]- p) m1、(   LaTeX命令  )
# D# w% B7 N4 U- E; ]" m2、$   LaTeX命令  $
0 A% E, F- z% K$ ~' o  s3、$$  LaTeX命令  $$
4 y' [! z7 S; Y* V1 R5 B) ^$ O( ~( K) g/ Z) Y( D; u
1. 在图象中直接加字符,很简单。2 P, D& c9 Q  x
text('Interpreter','latex','String','$$sqrt{x^2+y^2}$$','Position',[.5.5],… 'FontSize',16);& q" T) x0 V1 Z+ Z3 q1 U7 X  O
2.  在legend里加数学字符  
' p, H! T; j# r- g3 y: ih=legend('$$sqrt{x^2+y^2}$$');6 a+ K: k5 t. d' h( X
set(h,'Interpreter','latex')
' Z; `  s. @- t! @# J, A4 H  n以Matlab图形中的textbox属性为例,首先在图形中输入一个双重积分,然后输入一个Schrodinger方程。命令为:
9 K' l! _! @, t, W$ t4 p' R6 B/ a输出结果为
7 N4 D5 i) H* R% _
; I9 I9 \7 b+ Q4 z当然也可以使用( )命令。以此类推也可以对title、xlabel、ylabel、zlabel和legend等使用LaTeX命令,如:* _& ~7 b+ b9 A$ F6 X% r( W7 E5 s
xlabel({'$int_0^x!int_y dF(u,v)$'},'Interpreter','latex')
1 ~# L, {) f. Q, {7 C2 i至于LaTeX命令使用方法可以参考LaTeX教程。* Y2 B2 B4 y  p+ x

- g3 M* K( ^( M; }4 p7 y2 R2 y
* e$ G3 I8 A) B/ ~" y3 p% j0 C另外,Matlab可以吧计算结果转化成Latex格式,对于Matlab计算出的符号运算结果,可以通过latex()函数转化成LeTeX命令格式。由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号结果。所以,为防止对数值结果转化出错,可同时使用latex()和sym()函数:latex(sym(s)); 其中s代表符号表达式。7 S0 u- ?. W' T+ T3 \

5 I  K3 S/ _" O3 W/ y" `例如:>>syms a b c  q- q! z6 k3 D( V8 Q% ~
s=a/b+c' D% F! G* d+ l: }+ j! n' F  S0 J
使用latex(s)后转化为LeTeX命令:3 @" T$ v( Y% y) m) w% N
{frac {a}{b}}+c
( X  ]. g* Q8 h& M5 z1 |Tex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。函数title、xlabel、ylabel、zlabel或text都能 创建一个text对象,因此Tex字符转义符(带“”的字符串)经常作为这些函数的输入参数。如果要输出希腊字母,可以使用texlabel函数将希腊 字母的变量名转化为希腊字母的函数,供函数title、xlabel、ylabel、zlabel或text使用。texlabel转换MATLAB表达式为等价的Tex格式字符串。它处理希腊字母的变量名为实际显示的希腊字母字符串。希腊字母的变量名为“”后面的字符串。
5 c8 V6 V6 f  ~0 y# U/ ?- ?9 @: mTex字符及其函数表
3 `* k% m* _" Q$ p4 }函数字符        代表符号        函数字符        代表符号        函数字符        代表符号
  |( S) M& [8 ~  ]- O% g4 calpha        α        upsilon        υ        sim        ~( U" M! j; o* i$ p
beta        β        phi        ϕ        leq        ≤
6 a) a# j7 d1 a8 P& Sgamma        γ        chi        χ        infty        ∞6 J" V9 C9 B: }2 A* D. l$ T
delta        δ        psi        ψ        clubsuit         . v% Q( s: Z3 s/ K$ u) ~$ I* Q
epsilon        ϵ        omega        ω        diamondsuit         
( F; m; L2 U( L) ^, _, W" F( ezeta        ζ        Gamma        Γ        heartsuit         , S' I2 E* [1 A1 M# E0 p
eta        η        Delta        Δ        spadesuit         
0 m, Y& _. R! ]* D  rtheta        θ        Theta        Θ        leftrightarrow        ↔. b5 F; a. s0 l3 g3 J3 N' t
vartheta        ϑ        Lambda        Λ        leftarrow        ←) P% n2 i2 d0 h6 s3 F" L
IoTa        ι        Xi        Ξ        uparrow        ↑
8 Z0 ^, w8 d3 u( xkappa        κ        Pi        Π        rightarrow        →) b! T0 L8 x1 K
lambda        λ        Sigma        Σ        downarrow        ↓) ~; C7 s- b( G
mu        μ        Upsilon        Υ        circ        °* n0 A4 I3 @/ b6 G0 Q
nu        ν        Phi        Φ        pm        ±8 X1 O7 d& t7 A% j3 N, w; e
xi        ξ        Psi        Ψ        geq        ≥8 a0 s. f& v4 L1 i0 c6 m
pi        π        Omega        Ω        propto        ∝6 f& `) i( T) z$ f3 Z0 g: f
rho        ρ        forall        ∀        partial        ∂  O7 B' ]+ P4 u
sigma        σ        exists        ∃        bullet        ∙/ {2 X% A2 I, Y( X8 z
varsigma        ς        ni                 div        ÷
, N2 c/ o6 L4 Atau        τ        cong        ≅        neq        ≠# e: y  m2 l5 _; C) V
equiv        ≡
9 b  {, Z. c4 c- T# P) q        approx        ≈        aleph        ℵ3 C& b7 s" R% v
Im                 Re                 wp         2 z2 h# C/ o2 t6 w; c: J9 O
otimes        ⊗        oplus        ⊕        oslash         
% Z- \5 q+ ?. s  T" D! D9 Ccap        ∩        cup        ∪        supseteq        ⊇
; L1 V% `" }1 Asupset        ⊂        subseteq        ⊆        subset        ⊃
; T7 D( I7 k/ b. x1 z' Vint        ∫        in        ∈        o        ο9 L: S* Z" w# \& j1 f
RFloor                 lceil                 nabla         5 X' F" ^# B( J' |6 e6 D# V
lfloor                 cdot                 ldots         
  A6 m8 p! W2 h6 n7 operp                 neg                 prime         * j2 c5 M4 w; P7 \- L
wedge                 times                         ∅
( w  x/ r: v! f! Urceil                 surd                 mid        |
: D% ^# }; _/ a1 K& tvee                 varpi                 copyright        ©* {+ P) k! R  D8 y3 ]- X
langle                 rangle                        . i" I9 ~4 V/ U2 [
具体的公式编辑命令:
1 {. N1 Q6 H: c) t4 s3 e% P4 |1.上标用^和下表用_,希腊字母与tex一样,即alpha表示α。
) Q( I+ ~9 G  z3 P& p2.求和: $$sum_{i=1}^{n} x_{i}$$
: g! {% o% e2 c  v4 P  q+ O3.积分: $$ int_{0}^{1}$$0 A0 v1 i0 j3 h; q8 g5 y( p
4.求极限: $$lim_{n rightarrow infty}$$  %n趋于无穷符号在lim正下方9 G9 ?: K  x: a, y5 t: G5 d
$lim_{n rightarrow infty} $ %趋于无穷符号在lim右下角
7 \3 a$ F$ R$ V5. 分式: $$frac{1}x$$  %1/x
$ a5 @4 L" w8 z. ^9 P3 F6. 根式: $$sqrt{x}$$
$ K- L& o7 y; g7. 上划线: $$overline{x}$$
0 @4 q1 |6 u1 a6 S: D$ }: j5 u8. 下划线: $$underline{x}$$  %下划线在x的正下方
% ]* B; N$ t9 v1 Z9.卧式花括号命令: $$overbrace{x+y+z+w}$$& r4 H% x) S! _. J+ k
10.仰式花括号命令: $$a+underbrace{b+c+d} $$4 |9 y! a# N6 S$ a- ~3 m; Z
11.戴帽命令: $$hat{o} check{o} breve{o}$$" O! }, Z) t, j
$$widehat{A+B} widetilde{a+b}$$
# Q6 l4 y& d% W5 w4 l( g$ n5 G$$vec{imath}+vec{jmath}=vec{k}$$' Y4 x) H& O7 h! a
12.堆砌命令: $$ystackrel{rm def}{=} f(x) stackrel{xrightarrow 0}{rightarrow} A$$4 ^2 }7 L2 R- {
13.省略号: $cdots ldots vdots ddots $$ B* ]. C, p) [+ [: T. \
(1)Tex字符的字体设置有如下6种。& b7 N5 X* U- U5 p, A- g
①bf:设置字体为粗体字。' @1 M: H3 _$ u* w1 U
②it:设置字体为斜体字。
8 H$ A) Y# q5 {, Z  i- u3 a5 b③sl:设置字体为斜体字,很少使用。  ^1 k, {5 Z- o% o8 K, a8 w8 a( r
④rm:设置字体为正常字体。5 g5 {/ y8 |2 D& l: O4 Z
⑤fontname{字体名}:设置字体名。例如:fontname{宋体}。3 p% u. c$ I8 {# ?/ n, M' x
⑥fontsize{字体大小}:设置字体大小。例如:fontsize{16}。( V8 n9 O( G5 E, ^' h
(2)Tex字符的颜色设置有下面两种方法。
; h  V! Z, v+ W8 a①color{颜色名}颜色名:颜色名有12种,分别为red、green、yellow、magenta、blue、black、white、 cyan、gray、barkGreen、orange和lightBlue。例如:color{magenta}magenta。) }: Q3 x( Y$ Q, ~% N: d) ^
②color[rgb]{a b c}:设置字体颜色为RGB矩阵[a b c]所表示的颜色。 a、b和c都在[0 1] 范围内。例如:color[rgb]{0 .5 .5}。
/ X! a  q  R! @' |. o- [6 v: U(3)Tex字符的位置有2种设置。9 _- \; v1 M! m4 O0 |1 q- ], v' g
①_:表示下标。 ②^:表示上标。% _% l5 e/ A4 G! I9 `4 _

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 08:18 , Processed in 0.171875 second(s), 25 queries , Gzip On.

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

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

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