不知道有没有小伙伴遇到和我一样的问题,需要在python代码中使用MATLAB代码运行得到的结果,但是如果直接将MATLAB改写成python,工作量又被加大
那么这时候就需要利用官方给出的方法,在python中调用MATLAB
这里可参考官方给出的解决方法
整理:

  1. 根据自己安装的MATLAB版本去找到对应版本的python
    在这里插入图片描述
    这里以matlab2017a版本为例,对应python3.5
  2. 进入MATLAB的安装目录
    在这里插入图片描述
    在这里插入图片描述
  3. 安装用于 Python 的 MATLAB 引擎 API(最好以管理员身份打开)
D:\Program Files\MATLAB\R2017a\extern\engines\python>python setup.py install
  1. 在python中调用
import matlab
import matlab.engine
engine = matlab.engine.start_matlab() # 启动 MATLAB 引擎
# 通过engine.函数名即可调用MATLAB中的函数
# 若是自己写的.m文件,则调用.m文件名

在经过以上一顿操作后,,,,,,报错,提示没有engine模块。
考虑到由于之前装的是python3.9版本,但是为了迁就MATLAB2017a,换成了python3.5,结果还是疯狂报错
最后利用anaconda成功解决上面问题,还不用更改python版本
以下是利用anaconda解决过程

  1. 根据自己的MATLAB版本在anaconda中创建一个python环境,这里取名conmat,python版本是3.5
    在这里插入图片描述
  2. 打开anaconda的控制台
    在这里插入图片描述
    进入刚刚的新建的conmat环境中,通过activate conmat激活conmat
    在这里插入图片描述
    这时连接MATLAB使用的就是conmat中的python3.5,是独立于已安装的全局python环境
  3. 通过jupyter编写python代码连接上MATLAB,刚刚的问题完美解决
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐