如何在Python中调用Matlab

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

1)打开Prompt,输入 cd matlabrootexternenginespython 切换并创建文件夹

输入python setup.py install 进行安装。如果提示python版本不对进去下面流程。

2)键入python –version 查看python版本。如果版本不符合上一句指令提示,使用conda指令切换python版本。

3)执行命令:conda create --name python34 python=3.4 安装3.4版本

4)执行命令 conda info --envs,从图中我们看到,这里多了一个名字为python34的Python环境.

5)执行命令:python --version,查看当前版本

6)执行命令:activate python34,然后执行命令:python --version,查看是否切换成功.

7)重新执行1)完成安装用于 Python 的 MATLAB 引擎 API。

现在我们想用Spyder来编程,所以需要通过Prompt切换到Spyder(python 3.4)

1)activate python34 进入刚才创建的环境。

2)在环境中安装anaconda的库:conda install anaconda

3)安装完毕之后键入: spyder 即可进入Spyder(python 3.4)

现在我们可以在Spyder中启动Matlab了

[1]: import matlab.engine

[2]: eng = matlab.engine.start_matlab()

在当前文件夹下创建名为test.m文件,在Python中:

[3]: eng.test(nargout=0) #指定 nargout=0尽管脚本会打印输出,但它不会返回任何输出参数

Matlab中自定义的函数也是可以用Python调用的,打开test.m(只能编写,不能执行),matlab自带函数同理:

>>function a = triarea(b,h)
>>a = 0.5*(b.* h);

回到Spyder:

[4]:ret = eng.triarea(1.0,5.0)
[5]:print(ret) # triarea 函数仅返回一个输出参数,因此无需指定 nargout。
要停止执行 MATLAB 函数,请按 Ctrl+C。控制权将返回给 Python。 程序最后记得退出matlab环境: [6]:eng.quit()
检查您的系统是否具有受支持的 Python 版本和 MATLAB R2014b 或更新版本。要检查您的系统上是否已安装 Python,请在操作系统提示符下运行 Python。 1)打开Prompt,输入 cd matlabrootexternenginespython 切换并创建文件夹 输入python setup.py install 进行安装。如果提示python版本不对进去下面流程。 2)键入python –version 查看python版本。如果版本不符合上一句指令提示,使用conda指令切换python版本。 3)执行命令:conda create --name python34 python=3.4 安装3.4版本 4)执行命令 conda info --envs,从图中我们看到,这里多了一个名字为python34的Python环境. 5)执行命令:python --version,查看当前版本 6)执行命令:activate python34,然后执行命令:python --version,查看是否切换成功. 7)重新执行1)完成安装用于 Python 的 MATLAB 引擎 API。 现在我们想用Spyder来编程,所以需要通过Prompt切换到Spyder(python 3.4) 1)activate python34 进入刚才创建的环境。 2)在环境中安装anaconda的库:conda install anaconda 3)安装完毕之后键入: spyder 即可进入Spyder(python 3.4) 现在我们可以在Spyder中启动Matlab了 [1]: import matlab.engine [2]: eng = matlab.engine.start_matlab() 在当前文件夹下创建名为test.m文件,在Python中: [3]: eng.test(nargout=0) #指定 nargout=0尽管脚本会打印输出,但它不会返回任何输出参数 Matlab中自定义的函数也是可以用Python调用的,打开test.m(只能编写,不能执行),matlab自带函数同理: >>function a = triarea(b,h) >>a = 0.5*(b.* h); 回到Spyder: [4]:ret = eng.triarea(1.0,5.0) [5]:print(ret) # triarea 函数仅返回一个输出参数,因此无需指定 nargout。 要停止执行 MATLAB 函数,请按 Ctrl+C。控制权将返回给 Python。 程序最后记得退出matlab环境: [6]:eng.quit()
经验分享 程序员 微信小程序 职场和发展