Python调用Matlab教程
对于matlab中已经有很多程序,不想搬移到python的一个方法。
软件:
Python 3.7.0
Matlab 2019b
环境:
Win10
首先要明白,python调用matlab,仅支持python2.6,3.6,3.7这几个版本 其他版本是不行。
问题1:python为3.8版本以上的怎么更改3.7或者3.6版本?
查看当前版本,发现为3.8.8。
- 下载python3.7 并安装。这里不再赘述(注意安装的路径这很重要)
例如:
- 进入Scripts 文件夹,删除pip文件。
- 进入环境变量配置页面
-
点击“确定”,
“win+R” 输入“cmd” “回车” 打开命令提示符
接下来,进行对python与matlab的接口进行设置。
首先找到matlab中“setup.py”的路径,记录一下G:\matlab2019b\extern\engines\python
上面这个是我的路径,你只需要找到自己matlab下的python文件中的setup.py,就证明找对了。
打开命令提示符 进入到G:\matlab2019b\extern\engines\python此路径下
-
在此路径下,输入, python setup.py install --prefix="c:\work\matlab19aPy36"
测试是否可以调用?
还需将parcharm中的环境进行修改
-
Python调用程序如下
import matlab.engine eng = matlab.engine.start_matlab()
ret = eng.triatea(1.0,5.0)
print(ret)
matlab文件如下(被调用函数为triatea)
function a = triatea(b,h)
a = 0.5*(b* h);
在此处运行程序
发现报错了
-
将python程序再次修改
import matlab.engine eng = matlab.engine.start_matlab()
eng.cd('G:\matlab2019b\extern\engines\python',nargout=0) #python 要与 被调用的.m文件在同一文件夹下。 否则出现调用失败。
ret = eng.triatea(1.0,5.0)
print(ret)再次运行,发现成功了
-
到此 修改python版本,matlab接口设置全部完毕
可以自由地进行调用matlab 了,但是,此方法有一个缺点就是慢。对于大型计算来说,还是进行代码翻译,或者另寻他法吧。
本人为python新手一个,如有赘述,不喜勿喷。
参考博客https://www.cnblogs.com/beginner-boy/p/7248399.html链接制作,如有侵权,请与本人联系。
更多推荐
所有评论(0)