python调用matlab 性能_python调用matlab程序

本文详细介绍了如何通过Python调用MATLAB的.m文件,包括安装Python的MATLAB Engine包,获取MATLAB文件夹路径,设置执行.m文件的方式,以及解决路径和权限问题。关键步骤包括在.m文件目录启动MATLAB Engine,以及在需要时使用os模块改变目录。
摘要由CSDN通过智能技术生成

2ff34e647e2e3cdfd8dca593e17d9b0a.png

本文主要介绍如何通过python调用matlab的.m文件,以及在调用中遇到的一些问题。

安装python的matlab engine包

此处和官网完全一致

获取matlab文件夹路径

打开matlab,在命令行输入matlabroot,然后用返回值替代下面命令中的matlabroot

安装

对于windows用户:1

2cd "matlabrootexternenginespython"

python setup.py install

mac或者linux:1

2cd "matlabroot/extern/engines/python"

python setup.py install

调用.m文件

假设当前目录下存在xxx.m文件

打开matlab1

2import matlab.engine

eng = matlab.engine.start_matlab()

执行1eng.xxx(nargout=0)

或1eng.xxx(para1,para2...)

第一个是当做脚本执行,第二个是当做函数执行,括号里面为参数。按照需要执行文件的类型进行选择。

路径问题

如果python文件与matlab文件在同一个目录下,不需要考虑目录问题。

如果python文件与matlab文件不在一个目录下,则需要用os模块修改目录。

具体步骤

导入包1

2import os

import matlab.engine

修改当前目录到.m文件目录:1os.chdir('xxxxxxx')

启动matlab.engine,执行文件,和先前相同。

总结起来,必须要在.m文件目录启动matlab.engine。如果一开始在正确目录启动,后续使用os.chdir修改到其他目录仍然可以执行。如果一开始不在正确目录启动,即使后面使用os.chdir修改到正确目录也不行。

遇到的问题

安装matlab.engine时python没有管理员权限

这个问题是由于管理员限制matlab文件夹的权限造成的。问题会不会出现取决于当前是否为管理员用户。如果是,则不存在这个问题,如果不是,需要给定管理员权限。

最简单的方法,开始菜单中搜索cmd,右键选择管理员运行,然后cd到目标目录下,再用python安装即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值