自学内容网 自学内容网

python如何调用matlab python package库matlab转python安装包调用使用简单示例

说明(废话)

之前没有进行python调用过matlab,前面用matlab engine for python可以通过调用matlab的源码文件的形式可以调用工程,但是这又有一个问题,就是在运行的时候必须提供python和matlab的全部源码
该文章是通过matlab源码转python package的方式调用。

我的演示版本是
matlab2022a
python3.9
pycharm2020.3专业版

解决方案

matlab代码

这只是一个测试示例,matlab代码可以更复杂…

function sum = myadd(a, b)
    sum = a + b;
end

matlab 转python package

将matlab代码转python package
在这里插入图片描述
添加m文件,转python package
在这里插入图片描述
点上面的绿色勾勾,即可…

在这里插入图片描述
生成的是这个setup.py 和myadd目录

使用方法一(不推荐)

看到setup.py,就可以知道,又需要安装,怎么安装其实readme.txt已经有说明了。
在这里插入图片描述
其实,只要将setup.py中的
在这里插入图片描述
将R2022改为1.0即可
再次执行安装命令即可

python setup.py build
python setup.py install

对了,这个命令在setup.py所在的目录运行
执行完后,会将该库拷贝到python所在环境的lib/site-package目录下
在这里插入图片描述
此时是所有的项目工程都可以调用到该方法。
但是我更推荐下面的方法。

使用方法二(推荐)

通过比较文件,可以看出,其实就是将生产的myadd目录拷贝了过来,我根本不需要任意工程都能用这个。
方法一的操作都不需要做

直接编写python代码

import os
import myadd.for_redistribution_files_only.myadd as myadd

#init
mm = myadd.initialize()

#call matlab func
sum = mm.myadd(10, 20)
print(sum)

为了程序稳定,建议还是要try catch…

然后运行

运行

在这里插入图片描述
这是因为,运行仍然要依赖matlab 运行环境
如果有完整的matlab,那么可以不需要安装matlab MCR,如果没有完整的matlab,那么就要安装MCR支持库。
在这里插入图片描述
执行完成
在这里插入图片描述
希望对您有帮助

编辑:myhappyandy


原文地址:https://blog.csdn.net/myhappyandy/article/details/140535384

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!