PYTHON调用matlab

1,兼容版本

https://www.mathworks.com/support/requirements/python-compatibility.html

2,用于 Python 的 MATLAB 引擎 API 快速入门

用于 Python® 的 MATLAB® 引擎 API 提供了名为 matlab 的 Python 包,使您能够通过 Python 调用 MATLAB 函数。该包仅安装一次,然后您便可在当前或未来的 Python 会话中调用引擎。有关安装或启动引擎的帮助,请参阅

2.1验证配置

在安装之前,确认您的 Python 和 MATLAB 配置。

  • 要检查您的系统上是否已安装 Python,请在操作系统提示符下运行 Python。

  • 将包含 Python 解释器的文件夹添加到您的路径(如果尚未在该路径中)。

  • 找到 MATLAB 文件夹的路径。启动 MATLAB,并在命令行窗口中键入 matlabroot。复制 matlabroot 所返回的路径。

2.2安装引擎 API

您可以使用 pip 命令或 Python 设置脚本 setup.py 安装 MATLAB Engine API for Python。

2.2.1使用 pip 进行安装

从 MATLAB R2022b 开始,您可以使用 pip 命令来安装 API。选择以下过程之一,并在系统提示符下执行。

  • 要从 MATLAB 文件夹安装,请在 Windows® 上键入:

cd "matlabroot\extern\engines\python"

python -m pip install .

python -m pip install matlabengine

本人使用matlab2018 使用pip安装出现如下错误

2.2.2 setup.py安装

上述是安装失败了

将python路径加入环境变量后重启,在执行下属命令


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

如下界面则是安装中

结果是生成如下三个文件夹

查看是否安装成功

import matlab.engine
eng = matlab.engine.start_matlab()
print(eng)

出现如下结果显示安装成功

2.2.3 python 调用 m脚本

在python 脚本同一路径下建立一个m文件

m文件内容如下

function a = triarea(b,h)
a = 0.5*(b.* h);

python脚本内容如下

import matlab.engine
eng = matlab.engine.start_matlab()
ret = eng.triarea(1.0,5.0)

2.3 报错解决

matlab.engine.MatlabExecutionError: 输出参数太多

解决方案在函数里加上参数:nargout=0

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值