在LaTeX中调用Mathematica代码求解绘图(WolframLanguage)

Posted Z.Q.Feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在LaTeX中调用Mathematica代码求解绘图(WolframLanguage)相关的知识,希望对你有一定的参考价值。

文章目录


一、前言

在 LaTeX 中使用 Mathematica 代码,一种方式是将 Mathematica 代码的输出转化为 LaTeX 格式,然后复制粘贴,最近发现了一个不错的项目,能够直接在 LaTeX 代码中插入 Mathematica 代码进行求解与绘图,项目地址如下:https://github.com/stevenliuyi/latex-alpha2

LaTeX-alpha2 项目是 LaTeX-alpha 项目的升级,LaTeX-alpha 项目距今已经太古老啦。


二、下载功能补足文件

我们直接采用 Git 工具即可:

cd ~/Downloads
git clone https://github.com/stevenliuyi/latex-alpha2.git

接着进入目录,我们可以看到对应的 .sty 文件:


三、使用功能补足文件

有两种方法:

  • 一是将 latexalpha2.sty 文件移动到我们的 LaTeX 文件所在的文件目录下,这样每编辑一个 LaTeX 文件我们都要进行对应的复制移动

  • 二是直接将 latexalpha2.sty 文件移动到 TEXMF 目录下,在我的电脑上它的路径是:/usr/local/texlive/2021/texmf-dist/tex/latex,可以使用 texhash 命令查看自己电脑上的这个路径,新建一个 latexalpha2 目录:

    cd /usr/local/texlive/2021/texmf-dist/tex/latex
    sudo mkdir latexalpha2
    

    接着移动 latexalpha2.sty 文件到上述目录:

    sudo cp ~/Downloads/latex-alpha2/latexalpha2.sty ./latexalpha2
    

    刷新 LaTeX 的包数据库:

    sudo texhash
    

三、LaTeX命令调用

添加包的调用:

\\usepackagelatexalpha2

LaTeX 中使用 latexalpha2 必须以 -shell-escape 参数调用编译,所以需要我们修改编译参数,打开 TexStudio,设置如下:

Options → \\rightarrow Configure TexStudio… → \\rightarrow Commands

这里我的编译器选择的是 XeLaTeX,所以在 XeLaTeX 编译命令后加上参数 -shell-escape,大致设置如下:


四、常用的LaTeX-alpha2命令

1. 直接运行MMA命令

调用格式如下:

$\\wolframMMA命令$

例如直接在 LaTeX 中计算函数 f ( x ) = 1 1 − x 2 f(x) = \\dfrac1\\sqrt1 - x^2 f(x)=1x2 1 的二阶导数:

$\\wolframD[1/(1-x^2)^(1/2), x, 2]$

输出如下:

注:这里的计算建议不要放在行内公式环境 ($...$) 内,可另起一行或使用行间公式环境($$...$$)

2. 调用MMA绘制图像

命令如下:

\\wolframgraphics[文件格式]MMA命令文件名

例如绘制函数 f ( x , y ) = s i n ( x ) c o s ( y ) f(x, y) = sin(x)cos(y) f(x,y)=sin(x)cos(y) [ − 2 π , 2 π ] [-2\\pi, 2\\pi] [2π,2π] 上的 3 维函数图像:

\\beginfigure[h] 
	\\centering
	\\wolframgraphics[pdf]Plot3D[Sin[x]Cos[y], x, -2Pi, 2Pi, y, -2Pi, 2Pi]example
	\\includegraphics[width=14cm]example.pdf
	\\captionPlot3D of $f(x,y)=\\sin(x)\\cos(y)$
\\endfigure

输出如下所示:

再比如绘制 t a n ( x ) tan(x) tan(x) [ 0 , 2 π ] [0, 2\\pi] [0,2π] 上的图像:

\\beginfigure[!htbp] 
	\\centering
	\\wolframgraphics[pdf]Plot[Tan[x], x, 0, 2Pi]example1
	\\includegraphics[width=14cm]example1.pdf
	\\captionPlot of $\\tan(x)$ generated with the Wolfram API
\\endfigure

输出如下所示:

3. 调用MMA求解微分方程

命令如下:

\\wolframdsolve线型微分方程待求解函数自变量

例如求解一阶线性微分方程 d d x y + y = a s i n ( x ) \\dfracddxy + y = asin(x) dxdy+y=asin(x) 的解:

\\wolframdsolvey'[x] + y[x] == a*Sin[x]y[x]x

输出如下:


五、总结

LaTeX 的强大之处可能就在于它能够如此便捷的与其他语言相链接吧。

以上是关于在LaTeX中调用Mathematica代码求解绘图(WolframLanguage)的主要内容,如果未能解决你的问题,请参考以下文章

Latex绘图(word中自己绘的图如何存为高质量

给定边界条件时,Mathematica 不求解波动方程

在LaTeX中插入图片时出错,图片是eps格式而且与.tex在同一文件夹,图片名称是123,但是扔显示失败。求解。

mathematica怎么保存

latex时遇到问题急求解!

latex写伪代码遇到下面图中的问题怎么解决?