Latex语言是现在使用最广泛的Tex格式,Tex这种语言具有简单排版和程序设计的功能。

不过,LaTeX比TeX更为结构化,它有很多预设模版,包含供建立索引、表格、列表等的宏和公用软件。利用Latex,即使我们不会排版和程序设计也可以生成复杂的论文规格的表格和数学公式。

b站latex教排版学
我们使用matlab对数据或模型进行计算处理之后,时常会需要输出结果呈现Latex的格式,或者能方便转换成latex格式方便后续编辑。

Matlab中使用Latex大体可分为两种情境:1.使用Latex公式标注Matlab生成的各类图形;2.把Matlab的运行结果转换成Latex格式。

标注Matlab生成的图形

1. 生成图形的各类图例中添加Latex公式

Matlab生成的图形中title、xlabel、ylabel、zlabel、textbox和legend等Interpreter有三个属性:latex 、tex、none,默认是tex。首先把属性设置为latex,在Matlab中使用LaTeX语言的格式有三种:

\( LaTeX命令\)
$ LaTeX命令$
$$ LaTeX命令$$
% 在标题中插入LateX公式
figure(1);
x = 0:pi/100:2*pi;
plot(x, sin(x));
title('$\sin(x)$','interpreter','latex', 'FontSize', 18);
set(gcf, 'position', [0 0 300 300],'color',[1,1,1]);
% interpreter’ 表示所采用的解释器语法,此时需要设置为'latex'

在这里插入图片描述

% 在图例中插入LateX公式
figure(1);
x = 0:pi/100:2*pi;
plot(x, sin(x));
handle = legend('$\sin(x)$');
set(handle,'Interpreter','latex', 'FontSize',18)

在这里插入图片描述

% 在坐标轴中插入LateX公式
figure(1);
x = 0:pi/100:2*pi;
plot(x, sin(x));
xlabel('$\alpha$','interpreter','latex', 'FontSize', 18);
ylabel('$\sin(\alpha)$','interpreter','latex', 'FontSize', 18);

在这里插入图片描述

2. latex公式换行

第一种方式是将字符串改写成:{’ . . . ... ...’, ‘ . . . ... ...’};
第二种方式是将字符串改写成:[’ . . . ... ...’, newline, ‘ . . . ... ...’]

figure(1);
subplot(1,2,1);
% 换行方式一
title({'$fortest:\sin(x)+\alpha_1(k_1+x)+\alpha_2(k_2+x)$',...
    '$+...+\alpha_n(k_n+x)$'},'interpreter','latex', 'FontSize', 10);
subplot(1,2,2);
% 换行方式二
title(['$fortest:\sin(x)+\alpha_1(k_1+x)+\alpha_2(k_2+x)$',newline,...
    '$+...+\alpha_n(k_n+x)$'],'interpreter','latex', 'FontSize', 10);
set(gcf,'color',[1,1,1])

在这里插入图片描述

3. “$…$”与“$$…$$”的区别

“$…$”将字符缩小到与设定的字符一样大,即一个公式占一行。
“$$…$$”会将每一个字符都设定为预设的大小,一个公式占多行。

figure(1);
x = 0:pi/100:2*pi;
subplot(1,2,1);
plot(x, sin(x)./x);
title('$\frac{sin(x_\alpha)}{x_\alpha}$','interpreter','latex', 'FontSize', 18);
set(gca,'position',[0.05 0.1 0.4 0.7]);
subplot(1,2,2);
plot(x, sin(x));
title('$$\frac{sin(x_\alpha)}{x_\alpha}$$','interpreter','latex', 'FontSize', 18);
set(gca,'position',[0.5 0.1 0.4 0.7]);
set(gcf,'color',[1,1,1])

在这里插入图片描述

计算结果转换成Latex模式

对于Matlab计算出的符号运算结果,可以通过latex()函数转化成LeTeX命令格式。

由于latex()函数只对符号表达式进行转换,对于数值结果一定要通过sym()函数转化成符号格式。可同时使用latex()和sym()函数:latex(sym(i)); 其中i代表符号表达式:

syms a b c d
i = a/b+c-d^2
latex(sym(i))

结果显示:

ans = 'c+\frac{a}{b}-d^2'

另外,可以把Matlab的分析图片结果转化成Latex使用的.eps格式,以便后续使用latex进行编辑使用,有需要的话要用到Latex Markup,保存输出时点“latex”选项即将M-file转换成 text-file。

附加参考

1. Tex字符字体的设置

在这里插入图片描述

2. Tex字符命令对照表

在这里插入图片描述

3. 数学公式常用命令

在这里插入图片描述

参考
[1] 小思同学,Matlab中输入Latex公式,CSDN,https://blog.csdn.net/XSTX1996/article/details/81627219
[2] Thundermighty,【一个视频学会系列】Latex排版,https://www.bilibili.com/video/av39993441/
[3] zd0303,CSDN:https://blog.csdn.net/zd0303/article/details/7536967
[4] http://blog.sina.com.cn/s/blog_8fc890a20102v0sl.html

欢迎关注公众号“数学建模公会”,解锁更多建模相关教程、应用代码哦~
“数学建模公会”公众号二维码

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐