干货分享 - MatLab || 与LaTeX的混合使用指南

这篇具有很好参考价值的文章主要介绍了干货分享 - MatLab || 与LaTeX的混合使用指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、前言

2、Latex基础

3、Latex尝鲜

4、Latex在MatLab中换行

5、Latex在MatLab中小花招

6、附录1:Tex对照表

7、附录2:常用Tex字符


1、前言

LaTeX语言作为应用最广泛的Tex格式,Tex这种语言具有简单排版和程序设计的功能。

利用Latex,即使我们不会排版和程序设计也可以生成复杂的论文规格的表格和数学公式。

为了更加直观的感受LaTeX的排版作用,因此查看下图的红色方框区域部分。

Latex具有强大的显示数学公式的能力,能轻松表达出复杂的数学公式且非常美观。

干货分享 - MatLab || 与LaTeX的混合使用指南

 
f=@(x)exp(-2*x);
x=0:0.1:2;plot(x,f(x),'.-k');
xlabel('{\itx}'); ylabel('{\ity=e^{-2x}}');
legend('f(x)=e^{-2x}');

latexf=['$$f(x)=e^{-2x}$$'];
lgh=legend(latexf);
set(lgh,'interpreter','latex');

而Matlab在最新版本更新了对Tex/LaTeX的支持,使得我们在科学绘图中能够快捷方便的使用。

在用matlab对数据或模型进行计算处理之后,时常会需要输出结果呈现Latex的格式,或者能方便转换成Latex格式方便后续编辑。

可以提前给本文的内容做出一个总结:

  • MATLAB绘图时,可以使用LaTeX公式输入,前提是将相应的解释器从默认的'tex'改为'latex',使用最多还是在编写公式上,无法对一些算法图和排版进行深入的使用。

  • 无法自定义加载LaTeX的各种宏包,导致功能很受限,例如算法包,绘图包。


Matlab中使用Latex大体可分为两种类型:

  • 使用Latex公式标注Matlab生成的各类图形

  • 把Matlab的运行结果转换成Latex格式。

今天我们的内容就是好好盘点一下这些基础内容~

2、Latex基础

让我们先从基础的数学表达开始:

当我们在命令行键入: set(text,‘Interpreter’)

(部分低版本matlab为TickLabelInterpreter)

系统将返回'Interpreter'所包含的属性值:“none”||"tex"||"laTex"

干货分享 - MatLab || 与LaTeX的混合使用指南

可见默认值是:tex。我们可以将其设置为laTex。

在MatLab使用LaTex主要有这两种方式:

 %格式一:'$ 表达式或值 $'      %        一个公式只占一行当公式高度超过设定字符高度时会缩小公式中的字符 %格式二:'$$ 表达式或值  $$' %        一个公式能占多行公式中的每个字符都为设定的字符高度​​​​​​

常见数学符号的表达方法

在新版本的matlab中,实时脚本的内容中有插入LaTex方程的选项。

干货分享 - MatLab || 与LaTeX的混合使用指南

我们利用该app进行基础的学习:

部分规则请查看附录~

单个字符:

希腊字母的变量名为“\”后面的字符串

干货分享 - MatLab || 与LaTeX的混合使用指南

求和符号:

干货分享 - MatLab || 与LaTeX的混合使用指南

卧氏大括号:

\overbrace{x+y+z+x+a+d}

干货分享 - MatLab || 与LaTeX的混合使用指南

上划线和下划线:

干货分享 - MatLab || 与LaTeX的混合使用指南

具体公式总结请看附录内容~


3、Latex尝鲜

编写MATLAB的绘图窗口时候,我们很多时候需要在图中制作公式图。

Matlab可以在title、xlabel、ylabel、zlabel...上插入LaTeX公式。

(部分代码来自csdn,感谢各位大佬的贡献)

值得注意的是,‘interpreter’ 表示所采用的解释器语法,此时需要设置为'latex'

  • 标题 title

% 标题中添加LaTeX格式公式
x = 0.1:0.1:10;
plot(x, sin(x)./x);
title('$\frac{sin(x)}{x}$','interpreter','latex', 'FontSize', 20);
set(gcf, 'position', [0 0 400 300]);
set(gca,'FontSize',18);

干货分享 - MatLab || 与LaTeX的混合使用指南

title('$\frac{sin(x)}{x}$','interpreter','latex', 'FontSize', 20);
  • 图例 legend

K = 0.2;a1 = -0.3;a2 = 0;a3 = 0.3;t=-5:0.1:5;
f1 = K*exp(a1*t);f2 = K*exp(a2*t);f3 = K*exp(a3*t);
plot(t,f1,'b','LineWidth',4);hold on;
plot(t,f2,'r','LineWidth',4);hold on;
plot(t,f3,'k','LineWidth',4);axis([-6,6,-0.2,1.2])
set(gca,'XAxisLocation','origin');
set(gca,'YAxisLocation','origin');
legend({'$\it{K}e^{\alpha\it{t}}(\alpha < 0)$','$\it{K}e^{\alpha\it{t}}(\alpha > 0)$','$\it{K}$'},'Interpreter','latex')

干货分享 - MatLab || 与LaTeX的混合使用指南

为了让图例中可以插入一些好看的公式,比如下划线之类的我们也可以使用下面的代码进行调整与混合普通文字使用

plot(rand(20, 3), 'o-');
legend({'Mean Energy Consumption', 'Mean of $u_{i}$ Value', ...
        'Client Selection Frequency'}, ...
       'location', 'northwest', ...
       'interpreter', 'latex');

干货分享 - MatLab || 与LaTeX的混合使用指南

leg1 = legend('$\bar{x}$','$\tilde{x}$','$\hat{x}$');
set(leg1,'Interpreter','latex');
set(leg1,'FontSize',17);

干货分享 - MatLab || 与LaTeX的混合使用指南

【注】:legend语句中的 {} 不可缺少,且不可替换为 [] 

  • 坐标轴 xlabel/ylabel

alpha = 0:0.01:4*pi;
y1 = sin(alpha )+cos(alpha);
plot(alpha,y1,'r','LineWidth',3);
grid  minor
axis([0,4*pi,-4,4])
set(gca,'FontSize',18);
ylabel(['$f_{1}(\alpha)=sin(\alpha)+cos(t)$'],'Interpreter','latex','FontSize',18);
xlabel(['$\alpha$'],'Interpreter','latex','FontSize',18);
box on

干货分享 - MatLab || 与LaTeX的混合使用指南

因此我们可以得到总结,只要需要输出科学公式或者文字的地方,几乎都能够无缝使用LaTeX进行美化排版。

因此我们来完成一个比较完整的内容

syms x y
f = y*sin(x)-x*cos(y);
fsurf(f,[-2*pi 2*pi])
a = gca;
a.TickLabelInterpreter = "latex";

S = sym(a.XLim(1):pi/2:a.XLim(2));
S = sym(round(S/pi*2)*pi/2);
xticks(double(S));
labels = "$" + arrayfun(@latex,S,UniformOutput=false) + "$";
xticklabels(labels);

S = sym(a.YLim(1):pi/2:a.YLim(2));
S = sym(round(S/pi*2)*pi/2);
yticks(double(S))
labels = "$" + arrayfun(@latex,S,UniformOutput=false) + "$";
yticklabels(labels);

xlabel("$x$",Interpreter="latex");
ylabel("$y$",Interpreter="latex");
zlabel("$z$",Interpreter="latex");
titletext = "$" + latex(f) + "$ for $x$ and $y$ in $[-2\pi,2\pi]$";
title(titletext,Interpreter="latex")

干货分享 - MatLab || 与LaTeX的混合使用指南

4、Latex在MatLab中换行

是不是很上头?使用Lex语言编译出来的公式具有一定的美感。

想一想如果我们如果一个公式过长需要两行才能显示是否有技巧可以完成了?

目前根据我练习两年半的经验操作来看,有两类方式在MatLab中进行换行。

  • 将LaTex公式字符串改写为{'$...$', '$...$'}。单美元符号

  • 使用关键字newline进行控制,将LaTex公式字符串改写为['$...$', newline, '$...$']。美元符号

【注】:两种方式的括号不一样哦

干货分享 - MatLab || 与LaTeX的混合使用指南

% 换行方式一
title({'$liu:\sin(x)+\alpha_1(k_1+x)+\alpha_2(k_2+x)+a_0c(k+n)+a_1c(k+n-1)$',...
    '$+...+\alpha_n(k_n+x)$'},'interpreter','latex', 'FontSize', 10);
% 换行方式二
title(['$liu:\sin(x)+\alpha_1(k_1+x)+\alpha_2(k_2+x)+a_0c(k+n)+a_1c(k+n-1)$',newline,...    
       '$+...+\alpha_n(k_n+x)$'] ,'interpreter','latex','FontSize', 10)

5、Latex在MatLab中小花招

使用颜色修饰符 \color 将其后尾随字符的颜色从先前的颜色更改为新颜色。​​​​​​​

title(['\fontsize{16}liu {\color{magenta}love '...
'\color[rgb]{0 .5 .5}every \color{red}red} nice girl'])

干货分享 - MatLab || 与LaTeX的混合使用指南

可以通过latex()函数转化成LeTeX命令格式。由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号结果。

因此为防止对数值结果转化出错,可同时使用latex()和sym()函数:

latex(sym(表达式))

例如:​​​​​​​

syms x phi
chr = latex(x^2 + 1/x)

chr =

'\frac{1}{x}+x^2'

利用latex函数创建数组的字符表达形式:​​​​​​​

syms x
S = [sym(1)/3 x; exp(x) x^2]

干货分享 - MatLab || 与LaTeX的混合使用指南

让我们使用那个神奇的命令将S转为latex字符串吧~

干货分享 - MatLab || 与LaTeX的混合使用指南

当然我们也可以定义一些矩阵符号表达式:​​​​​​​

syms A 3 matrix
syms X [3 1] matrix
f = X.'*A*X
H = diff(f,X,X.')
chrf = latex(f)
chrH = latex(H)

干货分享 - MatLab || 与LaTeX的混合使用指南

因此我们日后想要快速的插入某些公式可以通过这种表达式进行快速转换。

6、附录1:Tex对照表

干货分享 - MatLab || 与LaTeX的混合使用指南

干货分享 - MatLab || 与LaTeX的混合使用指南

7、附录2:常用Tex字符

Tex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。函数title、xlabel、ylabel、zlabel或text都能创建一个text对象,因此Tex字符转义符(带“\”的字符串)经常作为这些函数的输入参数。

texlabel转换MATLAB表达式为等价的Tex格式字符串。

它处理希腊字母的变量名为实际显示的希腊字母字符串。希腊字母的变量名为“\”后面的字符串

Tex字符及其函数表:​​​​​​​

  \alpha α  \upsilon υ   \sim ~  \beta β    \phi ϕ       \leq ≤  \gamma γ   \chi χ      \infty ∞  \delta δ   \psi ψ      \epsilon ϵ     \zeta ζ    \Gamma Γ    \omega ω  \eta η     \Delta Δ    \theta θ   \Theta Θ    \leftrightarrow ↔  \vartheta ϑ   \Lambda Λ    \leftarrow ←  \iota ι     \Xi Ξ      \uparrow ↑  \kappa κ    \Pi Π    \rightarrow →  \lambda λ   \Sigma Σ    \downarrow ↓  \mu μ     \Upsilon Υ     \circ °  \nu ν      \Phi Φ       \pm ±  \xi ξ    \Psi Ψ      \geq ≥  \pi π      \Omega Ω    \propto ∝  \rho ρ     \forall ∀     \partial ∂  \sigma σ    \exists ∃     \bullet ∙  \varsigma ς    \div ÷  \tau τ      \cong ≅     \neq ≠  \equiv  ≡    \approx ≈     \aleph ℵ  \otimes ⊗       \oplus ⊕    \cap ∩       \cup ∪       \supseteq ⊇  \supset ⊂      \subseteq ⊆    \subset ⊃  \int ∫      \in ∈         \o ο  \rfloor     \lceil      \nabla

干货分享 - MatLab || 与LaTeX的混合使用指南

具体的公式编辑命令:​​​​​​​

  1.上标用^和下表用_,希腊字母与tex一样,即\alpha表示α。    2.求和: $$\sum_{i=1}^{n} x_{i}$$    3.积分: $$ \int_{0}^{1}$$  4.求极限: $$\lim_{n \rightarrow \infty}$$ %n趋于无穷符号在lim正下方  $\lim_{n \rightarrow \infty} $ %趋于无穷符号在lim右下角  5. 分式: $$\frac{1}x$$ %1/x  6. 根式: $$\sqrt{x}$$  7. 上划线: $$\overline{x}$$  8. 下划线: $$\underline{x}$$ %下划线在x的正下方  9.卧式花括号命令: $$\overbrace{x+y+z+w}$$  10.仰式花括号命令: $$a+\underbrace{b+c+d} $$    11.戴帽命令: $$\hat{o}\ \ \check{o}\ \ \breve{o}$$  $$\widehat{A+B} \ \ \widetilde{a+b}$$  $$\vec{\imath}+\vec{\jmath}=\vec{k}$$    12.堆砌命令: $$y\stackrel{\rm def}{=} f(x) \stackrel{x\rightarrow 0}{\rightarrow} A$$  13.省略号: $\bullet \bullet \bullet \bullet \bullet \bullet $

关于Tex解释器的一些设置

  • Tex字符的字体设置有如下6种

     \bf:设置字体为粗体字。  \it:设置字体为斜体字。  \sl:设置字体为斜体字,很少使用。  \rm:设置字体为正常字体。  \fontname{字体名}:设置字体名。例如:\fontname{宋体}。  \fontsize{字体大小}:设置字体大小。例如:\fontsize{16}​​​​​​​
  • Tex字符的颜色设置有下面两种方法

  \color{颜色名}颜色名:颜色名有12种,  分别为red、green、yellow、magenta、blue、black、  white、cyan、gray、barkGreen、orange和lightBlue。    例如:\color{magenta}magenta。  \color[rgb]{a b c}:    设置字体颜色为RGB矩阵[a b c]所表示的颜色。  a、b和c都在[0 1] 范围内。  例如:color[rgb]{0 .5 .5}
  • Tex字符的位置有2种设置文章来源地址https://www.toymoban.com/news/detail-451680.html

      _:表示下标。  ^:表示上标。​​​​​​​

到了这里,关于干货分享 - MatLab || 与LaTeX的混合使用指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块

    前言 MATLAB Fuction模块 采样点设置 FFT 求解 分析和应用 总结         见《开箱报告,Simulink Toolbox库模块使用指南(一)——powergui模块》         MATLAB Fuction模块是在Simulink建模仿真或生成代码时,调用Matlab库函数或自定义函数的一个接口。其在Simulink Toolbox库中的位置

    2024年02月14日
    浏览(24)
  • 分享金媒v10.3开源系统中CRM线下客户管理系统使用指南和小程序上架细分流程

    本系统金媒婚恋开源系统v10.3也叫择爱系统目前最新版全开源包括OElove最新版10.0都是最新但是很多客户不动CRM使用流程我就按照流程给大家介绍下如果大家对程序感兴趣也可以分享给你看我昵称里可以Q我,请注明:CSDN网友 ●本系统红娘分两种,一种是全民红娘也就是推广员

    2024年02月22日
    浏览(35)
  • Latex | 使用MATLAB生成.eps矢量图并导入Latex中的方法

    用Latex时写paper时,要导入MATLAB生成的图进去 (1)在MATLAB生成图片的窗口中,导出.eps矢量图 (2)把图上传到overleaf的目录 (3)在文中添加相应代码 (1)MATLAB生成图像后,生成点击“文件”-“导出设置(R)” (2)参数我这里是选择了默认,再点击右侧栏的“导出” (3)

    2024年02月15日
    浏览(30)
  • Spark初学者指南:使用指南和示例

    本文介绍了如何使用Spark处理大规模数据集,并提供了一个Scala编写的Word Count示例,指导您从安装和配置到编写和运行Spark应用程序。无需担心,即使您是Spark初学者,也可以按照本文的步骤来学习和使用Spark。 Spark是一个流行的分布式计算框架,用于处理大规模数据集。它使

    2024年02月06日
    浏览(40)
  • 【12】Git工具 协同工作平台使用教程 Gitee使用指南 腾讯工蜂使用指南【Gitee】【腾讯工蜂】【Git】

    tips:少量的git安装和使用教程,更多讲快速使用上手Gitee和工蜂平台      Git - Downloads (git-scm.com) 找到对应操作系统,对应版本,对应的位数   下载后根据需求自己安装,然后用git --version验证是否成功   使用 SSH 密钥可以让你在与 Git 服务器进行通信时,实现更安全的身份

    2024年02月13日
    浏览(28)
  • Jmeter进阶使用指南-使用断言

    Apache JMeter是一个流行的开源负载和性能测试工具。在JMeter中,断言(Assertions)是用来验证响应数据是否符合预期的一个重要组件。它是对请求响应的一种检查,如果响应不符合预期,那么断言会标记为失败。 以下是如何在JMeter中使用断言的基本步骤: 添加断言 :首先,你

    2024年02月09日
    浏览(27)
  • Matlab怎么引入外部的latex包?Matlab怎么使用特殊字符?

       Matlab怎么使用特殊字符?一种是使用latex方式,Matlab支持基本的Latex字符【这里】,但一些字符需要依赖外部的包,例如“𝔼”,需要依赖外部的包 amssymb ,并使用 mathbb{E} 。参考了很多方法,方法1,方法2(老版本)。不过博主都没搞定,有小伙伴搞定了或者会弄了,烦请

    2024年02月11日
    浏览(26)
  • Polars使用指南(二)

    在上一篇文章中,我们介绍了Polars的优势和Polars.Series的常用API,本篇文章我们继续介绍Polars.Series的扩展API。 对于一些特殊的数据类型,如 pl.Array、list、str 等,Polars.Series 提供了基于属性的直接操作API,如果可以使用下述API实现的功能,应尽量避免使用 map_elements,因为效率

    2024年01月23日
    浏览(29)
  • myspl使用指南

    mysql数据库 使用命令行工具连接数据库 -u表示后面是用户名 -p表示后面是密码 -h表示后面是主机名,登录当前设备可省略。 如我们要登录本机用户名为root,密码为123456的账户: 按回车,然后再输入密码即可。 使用代码连接 显示mysql中的所有数据库(mysql中可以有很多个数据

    2024年02月10日
    浏览(29)
  • Ollydbg使用指南

    OllyDebug,简称OD,一种反汇编软件,动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3 级的调试器。OllyDebug的使用界面是可视化操作。 OD有很多民间的版本,菜单栏和和工具栏的配置可能有所差别。比较好用的是吾爱破解和吾爱汇编的中文Ollydbg版本。 深入学习OllyDBG的调试技

    2023年04月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包