在jupyter中使用matlab

基于MATLAB的IPYTHON笔记本

  • 2018年2月21日更新:新的JupyterLab刚刚发布,并且根据此推文确实很容易与Matlab集成。可能值得签出,而不是下面的过时说明!

  • 我真的很喜欢Python的哲学,但是在过去的几年中,我一直无法从Matlab切换研究代码。在这一点上,过渡成本对我来说太高了,但这是我计划在将来的某个时候采取的措施。

  • 现在,Python具有令人敬畏的Jupyter(以前称为IPyton笔记本)功能,该功能允许在一个文档中显示注释,代码和最重要的图形输出(即,刚生成的图形)。这是共享和解释您正在编写的代码的好方法,因为读者可以立即看到输出的生成方式,而不必自己运行所有分析。

  • Matlab具有Publish函数,该函数尝试执行类似的操作,并输出包含代码和图形的HTML文件。但是,有一些缺点:它使用自己的标记文本布局语言,并且GitHub(我打算在其中托管笔记本的GitHub)本身不会呈现html。

  • 幸运的是,一些很棒的人使使用Matlab生成IPython笔记本变得非常容易,这些笔记本非常容易在GitHub上共享或托管。以下是分步指南:

  • 下载并安装Anaconda https://www.continuum.io/downloads。重新启动终端。或者,如果您不想获得完整的Anaconda软件,请查看此文章。

  • 在终端中,键入

pip install pymatbridge
pip install matlab_kernel
python -m matlab_kernel install

将内核指向您的Matlab版本。我已添加
export MATLAB_EXECUTABLE=/Applications/MATLAB_R2015b.app/bin/matlab到我的.bash_profile文件中。为此,请在Terminal中键入echo “export MATLAB_EXECUTABLE=/Applications/MATLAB_2015b.app/bin/matlab” >> ~/.bash_profile。当然,请确保Matlab的位置和版本与您的匹配。
重新启动终端或加载.bash_profile。键入ipython notebook的终端。您的浏览器将打开一个Jupyter窗口,您可以在右侧转到新建->笔记本-> Matlab
您现在可以运行笔记本了!只需从matlab编写或复制代码块,然后单击“运行”。当您调用任何绘图功能时,这些图将自动出现。当您将Notebook.ipynb文件推送到GitHub时,它将自动呈现布局和图形。您还可以将整个笔记本下载为HTML,可以在任何Web浏览器中查看。

安装用于 Python 的 MATLAB 引擎 API

  • 要在 Python® 会话内启动 MATLAB® 引擎,必须先安装 Python 包形式的引擎 API。MATLAB 提供了标准的 Python setup.py 文件,用于通过 distutils 模块编译和安装引擎。您可以使用相同的 setup.py 命令在 Windows®、Mac 或 Linux® 系统上编译和安装引擎。

  • 在安装之前,确认您的 Python 和 MATLAB 配置。

  • 检查您的系统是否具有受支持的 Python 版本和 MATLAB R2014b 或更新版本。要检查您的系统上是否已安装 Python,请在操作系统提示符下运行 Python。

  • 将包含 Python 解释器的文件夹添加到您的路径(如果尚未在该路径中)。

  • 找到 MATLAB 文件夹的路径。启动 MATLAB,并在命令行窗口中键入 matlabroot。复制 matlabroot 所返回的路径。

要安装引擎 API,请选择以下选项之一。

在 Windows 操作系统提示符下 -

cd "matlabroot\extern\engines\python"
python setup.py install
您可能需要管理员权限才能执行这些命令。

在 macOS 或 Linux 操作系统提示符下 -

cd "matlabroot/extern/engines/python"
python setup.py install
您可能需要管理员权限才能执行这些命令。

在 MATLAB 命令提示符下 -

cd (fullfile(matlabroot,'extern','engines','python'))
system('python setup.py install')
发布了145 篇原创文章 · 获赞 6 · 访问量 8071

猜你喜欢

转载自blog.csdn.net/sinat_23971513/article/details/104916222