Python与Matlab交互

科学计算与大数据

浏览数:323

2019-2-22

AD:资源代下载服务

Python

Python是一种面向对象的解释型计算机程序设计语言。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。

Matlab

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

Matlab调用Python

MATLAB里可以很方便的调用Python的模块。我的环境是Python3.6.4(Anaconda)

我的Matlab环境是:

打开Matlab, 输入pyversion, 结果如下:

Matlab成功链接到了你的Python解释器。接下来我们写一个例子:

上面是用Python写了一个类,里面实现了两个数相加的功能!!然后我把它放在了当前路径下(和其他不想关的m文件放在了一起):

然后在Matlab里面调用如下:

Python调用Matlab

确保你在电脑上安装了Matlab,然后进入你的安装路径(我是从桌面进去的),进去以后找到这样类似的路径,里面有关于支持Java,Python的引擎。

进去以后进入上图python的路径,在当前目录下打开CMD,运行Python想关命令!注意:一定要是管理员权限,否则会出现权限问题。

python setup.py install

在Matlab里面写一个自定义函数,计算两个矩阵的和:

在命令行下,切入.m文件所在的目录下,运行下面的程序:

import matlab.engine
eng = matlab.engine.start_matlab()
y = eng.twoSum(matlab.double([[1.],[2.]]),matlab.double([[3.],[4.]]))
print(y)

结果是:[[4.0],[6.0]]

这样就计算成功了,另外再举个小例子:

这个就是Matlab里面的幻方矩阵!!

写在最后:人生苦短,我用Python!!

更多精彩欢迎关注微信公众号:IT坚果

转载请注明出处:https://zhuanlan.zhihu.com/p/40992247