armax函数 matlab 源码_将可读性不强的MATLAB公式样式转为直观的LaTeX样式

5b35b919ccda74f4b5abf647b7b2b54c.png

e788a2dbd57f713938918f29082305e9.png
欢迎关注公众号:120701101.

将可读性不强的MATLAB公式样式转为直观的LaTeX样式

Contens

  • 问题来源
  • 解决办法
  • 代码
  • 演示代码
  • 源码编辑器

问题来源

B站有个大神“图某道”,他发了一期关于如何将可读性不强的MATLAB公式样式转为直观的LaTeX样式的视频,但是没有公开源码,我尝试一下。

解决办法

  • 先用matlab内置的latex函数将待转化的公式转为LaTeX样式;
  • 再利用figure函数里面的text函数将其表示在图里面。
  • 注意:转的时候,解释器要用latex

代码

function LaTeX = sym2latex(poly)
%SYM2LATEX  将多项式转化为LaTeX样式输出

LaTeX = latex(poly);

% 设置图幅并不显示所有无关的菜单栏等
fig = gcf;
fig.Name = '';
fig.NumberTitle= 'off';
fig.MenuBar = 'None';
fig.Position = [300, 300, 600, 300];
fig.Color = 'w';

% 不显示轴
ax = gca;
ax.XTick = [];
ax.YTick = [];
ax.XAxis.Visible = 'off';
ax.YAxis.Visible = 'off';

% 添加text函数
t1 = text(0, .6, ['$$', 'y =', LaTeX,'$$'], 'interpreter', 'latex'); % 注意此处的表达
t1.FontSize = 20;
t1.Color = 'k';
t1.FontWeight = 'Bold';

end

演示代码

在命令行输入:

>> syms x
>> y = 1 / (2 * x) + exp(-x + 1) + sin(tan(x)); % 可读性不强
>> LaTeX = sym2latex(y)

运行结果如下,

LaTeX =

    'sinleft(mathrm{tan}left(xright)right)+{mathrm{e}}^{1-x}+frac{1}{2,x}'

且有如下图输出。

830be7046032ea2fe927baa9d5c55891.png

源码编辑器

MATLAB 2019b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值