Python调用Matlab

Posted 王张飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python调用Matlab相关的知识,希望对你有一定的参考价值。

1、安装环境:

win10
python3.7
matlab2018a

2、安装步骤:

2.1、使用pip安装matlab,运行如下命令:

pip install matlab

2.2、安装matlab.engine

首先找到matlab的安装路径,如:

D:\\Program Files\\MATLAB\\R2018a\\extern\\engines\\python

然后打开命令窗,运行如下命令(如图1所示):

python setup.py build --build-base="builddir" install

python setup.py install --prefix="installdir"

python setup.py build --build-base="builddir" install --prefix="installdir"

python setup.py install --user

在这里插入图片描述
图1 matlab.engine环境配置

3、Python调用Matlab

3.1、Python调用Matlab自带函数

# 调用matlab自带函数
b = eng.sqrt(a)
print(b)

3.2、Python数组转化为Matlab格式

import matlab.engine
# start
eng = matlab.engine.start_matlab()
# matlab无法直接使用python数组,需要使用double方法转换
a = matlab.double([1,4,9,16,25])

3.3、Python调用Matlab的.m文件

1、创建python2matlab.py文件,将下列代码复制到创建的python2matlab.py文件中。

import matlab.engine
# start
# 调用用户自己的函数
c=eng.matlab2python(1.0, 2.0)
# stop
print("c", c)
eng.exit()

2、创建matlab2python.m,将下列代码复制到创建的matlab2python.m文件中。

function a = matlab2python(c,d)
a = c + d;
end

3、运算结果如下所示。
在这里插入图片描述

以上是关于Python调用Matlab的主要内容,如果未能解决你的问题,请参考以下文章

球体的双目视觉定位(matlab,附代码)

粒子群优化算法-Python版本和Matlab函数调用

VBS 环境下如何调用EXCEL内置函数

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

python使用上下文对代码片段进行计时,非装饰器

[python][matlab]使用python调用matlab程序