python调用matlab慢,解决python调用matlab时的一些常见问题

本文介绍了在Python中调用MATLAB遇到的性能问题以及解决方案。使用mlab库虽然方便,但自定义函数更新无效;而通过matlab.engine官方API则能避免此问题,但需要注意变量类型转换和函数返回值的处理。此外,确保软件位数一致和管理员权限也是关键。
摘要由CSDN通过智能技术生成

免费资源网 - https://freexyz.cn/

为什么要用python调用matlab?

我自己的有些数据结构涉及到hash查找,在python中key是tuple形式,在matlab中支持hash查找的数据结构只有containers.Map(),并不能支持cell作为key。

尝试过把向量转为string,但是num2str和str2mat的效率不高,containers.Map()的查找耗时也非常的长,所以只好作罢。

后来发现可以用python通过matlab的API直接调用matlab的函数参与运算,朋友的经验说矩阵运算都交给matlab来计算就很快了。

但是摸索过程中发现一些问题,在网络上基本找不到,自己全靠摸索发现解决方式,写在这里,如果能给大家带来帮助,那就很好了。

配置python以调用matlab的API

python环境

这里以py2.7和Spyder的anaconda为例。

通过mlab库

这个包直接搜索到官网上下载即可。也可以尝试pip,我已经忘了当时怎么装上的了。

装好之后,使用示例如下:

from mlab.releases import latest_release as matlab

import os

path = os.getcwd()

mat.path(mat.path(),path) # 添加当前脚本所在路径到matlab的环境中

......

所有的matlab(包括自定义函数)的可以通过matlab.xxxx()的方式调用。

mlab包的优点

matlab中的所有变量都是矩阵形式的&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值