python调用matlab函数 | 您所在的位置:网站首页 › 如何在python中调用matlab › python调用matlab函数 |
众所周知,Python凭借其众多的第三方模块,近年来被数据分析、机器学习、深度学习等爱好者所喜爱,最主要的是Python还是开源的。另一方面,MATLAB因其在仿真方面的独特优势也被众多人追捧。而在国内,虽然MATLAB具有昂贵的价格(学术版的估计也要好几千吧,具体不清楚),但恐怕也是众多搞学术的人的首选平台(原因嘛?呵呵,你懂得)。 既然MATLAB和Python各有各的优势,那能不能将二者的优势结合呢?也就是说能不能将二者的命令相互调用呢??当然能!!!在最新的MATLAB里,我们可以使用大部分(根据MATLAB官方文档)的Python命令(估计是mathworks看到了Python的某些优势,害怕若干年后使用MATLAB的用户越来越少,因为现在MATLAB的好多(注意,并不是全部)功能Python基本都可取代)。 温馨提示:如果是MATLAB和Python的初学者的话,除了某些特殊的功能非要用MATLAB不可,否则建议学习Python。 下面就来说说如何在MATLAB里调用Python吧。 二、环境配置(Windows系统) 我用的MATLAB是最新的(好像只有MATLAB R2015a以后的版本才行)。 1、首先安装好MATLAB; 2、安装Python32/64(要与你的MATLAB一致,否则不兼容),这里建议安装Anaconda32/64,因为可以省去好多安装Python第三方模块的时间。 3、将安装好的Python可执行文件路径加到你MATLAB的工具箱搜索路径中(我的是安装在E盘下的,MATLAB会自动加入其下的子目录),并“保存(save)”即可,如下图所示: 第3步不要好像也行 三、测试 以下截图是测试在MATLAB中调用Python的cv2(见这里Python-OpenCV)模块进行图像的读取并显示的(这里仅作演示配置是否成功,实际中用MATLAB的图像处理工具箱更方便)。 其中,py.cv2类似于Python的import cv2,其它的跟Python没啥区别。 相应的Python代码为: >>> import cv2 >>> image = cv2.imread('G:\img\lena.jpg') >>> cv2.imshow('Lena',image) >>> cv2.waitKey(0) 运行结果: 这里写图片描述 说明: 1、这里要说明的是当我们在MATLAB中运行一次py.*之类的语句后,当我们再次输入py.并同时点击Tab键,会自动出现当前可调用的Python模块(函数),如下图: 或者当我们输入py.num,同时再点击Tab键,会自动补全为py.numpy 2、Python中的from x import y在MATLAB中调用类似于import x.y(但是不要这样导入import py.*,这样的话,Python将覆盖MATLAB中的同名函数),当不再需要import x.y导入的函数时,要执行语句clear import进行清空。 下面是MATLAB官方文档中的例子: 方法一与方法二可以进行对比 这里写图片描述 3、这个是在MATLAB中调用Python的官方帮助文件Call Python Libraries,里面有详细的帮助信息。 4、以上内容全部来自Call Python Libraries,我只是用自己的话大致总结了一下自己所看的而已。 5、这是个MATLAB与Python对应函数的网页,以帮助那些熟悉其一又要学另一语言的朋友 欢迎大家踊跃发言 --------------------- 作者:jnulzl 来源:CSDN 原文:https://blog.csdn.net/jnulzl/article/details/51170859 版权声明:本文为博主原创文章,转载请附上博文链接! |
CopyRight 2018-2019 实验室设备网 版权所有 |