添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

参考文章: 安装用于Python的MATLAB引擎API

环境:MATLAB R2022a、Anaconda、python3.9

检验配置

检查Python版本是否与Matlab版本相匹配

把python程序变成matlab程序 python 转matlab_python

安装API

打开matlab在命令行中输入 matlabroot 获得matlab的根目录,如图。

把python程序变成matlab程序 python 转matlab_Python_02

以管理员的身份打开cmd,并进入到matlabroot目录下,接着进入extern->engines-> python,最中到达python文件夹下。完整命令如下:

把python程序变成matlab程序 python 转matlab_虚拟环境_03

到达该问价夹后,根据需要切换到conda环境下,如果没有conda可以跳过,matlab的API需要根据python的版本进行编译,我使用的是conda 的虚拟环境,而且与base环境内的python版本不一致所以在此处切换了python环境,环境切换后,运行

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

此时文件夹下会生成 builddir 目录,进入该文件夹下的lib目录可以看到编译好的matlab包,将这个包放入anaconda对应虚拟环境下的 环境名\Lib\site-packages下即可

测试

测试主要使用了自己编写的test.m程序作为测试函数

把python程序变成matlab程序 python 转matlab_虚拟环境_04

测试程序代码如下:

import matlab.engine
import matlab
eng = matlab.engine.start_matlab()
# 此地址为test.m文件存放的地址
eng.cd('C:/Users/Username/Documents/Python Scripts/stft_first_test_linux')
c = eng.test(1,2)
print(c)

最后

在matlab的官方教程中介绍了另一种通过将生成文件放在特定文件夹,并添加环境变量的方法来调用matlab包,测试之后发现只有电脑默认的python可以调用,当更换成conda下的虚拟环境时无法使用,所以自作聪明的将matlab包直接复制到了虚拟环境的包里面,没想到可以使用了。



work = xlsxwriter.Workbook('hello.xlsk')#在当前目录下创建一个Excel文件 #2. 创建表格 worksheet = work.add_worksheet('int') #3.写入内容 title_index = ["A","B",