matlab调用python模块的方式如下说明:
需要在本地电脑安装python,目前matlab2020版本支持python2.7/3.6/3.7。
Python Release Python 3.7.0 | Python.org

![]()
下载完成后,运行安装,安装步骤按照默认的勾选即可,并构建添加环境变量。
![]()


pyversion


上述说明了python环境已经添加成功
执行python函数
py.list

能正确调用python自带的函数
假设python函数为ERead.py
则调用方式为,将ERead.py放到当前目录下,注意是当前目录下,如果是上一级文件夹下或子文件夹下则会出现调用该ERead.py出现找不到该文件的情况,因此放到当前目录下为:当前文件夹下即包含该python文件,并注意该文件路径添加为当前路径
command = 'ERead.py';
status = system(command);
该ERead.py文件已经将数据读取并转换为txt保存
在matlab中操作读取该txt文件并加载绘图即可
(但该方式有点繁琐,需要在python中读取某种数据格式文件并转换为txt保存,再利用matlab重新导入txt并绘图),因此想到方法2
修改python函数为可以在matlab中输入路径和名称,python函数返回导入的变量到matlab中,在matlab中调用python函数进行数据格式转换,转换后的格式文件直接用matlab函数处理即可。(python编写的函数完全充当了一个接口函数调用)
- path="D:/xxx.dat";
- Data_list=py.ERead.import_Data(path)
python中导入的数据Data_list为list类型,该类型在matlab中无法简便的处理,为此调用python的numpy函数进行转换。
DATA_Array=py.numpy.array(DATA_list);
存在的问题是:运行py.numpy时出错,原因是没有安装numpy函数,为此需要在之前安装python版本的路径下安装numpy:采用pip的安装方式
在python37版本安装路径的Script下,在路径中输入%comspec%,然后回车


在打开的cmd命令窗口中输入pip install numpy,并提示安装成功

说明安装成功并能被调用
至此,在matlab中能够调用已经编写好的python函数。matlab参数传递python函数,python函数执行后返回的结果变量,matlab中加载结果变量并调用python函数进行进行数据转换,再结合matlab的优势进行后续处理即可。
注意:在运行时要切换到py文件所在当前目录下运行。
【1】matlab下调用python,numpy库函数的方法_帅帅的海盗的博客-CSDN博客_matlab调用numpy
【2】 在MATLAB中调用 Python_风吹我亦散的博客-CSDN博客_matlab调用python程序
【4】 m文档-Call User-Defined Python Module