Python 调用Matlab的函数或者调用M文件方法

忽然感觉用python的频率越来越大了,是因为python高层次抽象太方便了,在运行fast RCNN的时候OP算法选的是Edge_Boxes 是matlab的 所以就涉及到了python调用Matlab的问题。在网上搜了一下,下面是解决方法:


最后给出mlab的下载链接:

点击打开链接

--------------------------------------------我是转折线-----------------------------------------------

按照上面的方法,在编译mlabwrap的时候居然报错!!!!一开始找不到编译器,后来就是cpp文件里面各种错误,虽然可以一一修改但是真的改的心力交瘁啊!!!


历时一个上午的时间,我再重新找了一遍python调用matlab的方法,并且终于尝试成功了!!!注意这个是成功的!!!!

Github教程地址(当然,你也可以只看我下面写的简版教程):

教程链接

1.不需要下载源码,但是需要你的windows上安装好pip,这里不提供安装pip的方法

2.打开cmd,然后输入:

pip install mlab

    如果你的pip安装好了的话,这步肯定没有问题。会提示安装成功。

3.现在就可以在python中使用matlab的一些功能了,这里给出一些小的例子来测试是否安装成功

4.打开cmd。 输入python进入python的编辑

>>> from mlab.releases import R2014a      


                       #这是因为我安装matlab的版本是R2014a,如果你是其他版本注意改一下


>>>from matlab import matlabroot

>>>print matlabroot()

D:/MATLAB/R2014a                          #这是我的matlab安装路径


>>>from mlab.releases import R2014a as mlab

>>>mlab.plot([1,2,3], '-0')


看见图出来了吧,知道怎么调用了吧!!成功了吧!!!哈哈!!!!



  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
Python调用MATLAB函数有几种方法。 1. 使用MATLAB Engine API:MATLAB提供了Engine API,可以在Python中直接调用MATLAB函数。首先,确保你已经安装了MATLAB,并且已经将MATLAB引擎添加到Python的环境变量中。然后,可以使用以下代码示例调用MATLAB函数: ```python import matlab.engine # 启动MATLAB引擎 eng = matlab.engine.start_matlab() # 调用MATLAB函数 result = eng.my_matlab_function(arg1, arg2, ...) # 关闭MATLAB引擎 eng.quit() ``` 在上面的示例中,`my_matlab_function`是你想要调用MATLAB函数,`arg1`、`arg2`等是传递给函数的参数。 2. 使用MATLAB Compiler:如果你的MATLAB代码已经被编译为可执行文件或共享库,你可以使用`subprocess`模块在Python调用它。例如,如果你有一个名为`my_matlab_function.exe`的可执行文件,可以使用以下代码调用它: ```python import subprocess # 调用MATLAB可执行文件 result = subprocess.run(['my_matlab_function.exe', arg1, arg2, ...], capture_output=True, text=True) # 输出结果 print(result.stdout) ``` 在上面的示例中,`arg1`、`arg2`等是传递给MATLAB可执行文件的参数。 3. 使用MATLAB引擎for Python:MathWorks还为Python提供了MATLAB引擎for Python,它允许你在Python中直接调用MATLAB函数,类似于MATLAB Engine API。你可以通过安装`matlab`包来使用它。具体使用方法可以参考MathWorks官方文档。 无论使用哪种方法,你都需要确保已经正确安装了MATLAB,并且将其配置为可以与Python交互。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值