Python的应用越来越广泛,在深度学习,机器学习,数据挖掘等方面有很大的优势,并且python是开源的有强大的第三方库,这是python的最大优势。但是MATLAB在科学计算方面优化的非常极致,特别是SIMULINK的模块化编程方式非常方便,在实际的应用中经常会需要SIMULINK和python之间频繁的数据交换和调用,这里简单介绍一下MATLAB与python之间的混合编程。本文档所有操作都是在Window10环境下实现的。
一、MATLAB\SIMULINK调用python函数
从 MATLAB2014b 开始,MATLAB支持直接调用Python。我安装的是MATLAB2017b是最新的版本,所以安装完之后能够直接连接到Python,验证MATLAB连接到Python的方法。
我的电脑安装了两个版本的Python,分别是2.7和3.5,默认连接到的是python3.5.也可以手动切换到python2.7版本。
定义python函数为,非常简单的两数求和,文件名称te2,函数名为c2。
在MATLAB中调用python函数,按照py.文件名.函数名(参数)的格式进行函数调用。
参看python的帮助文档。更多用法和例子可以查看帮助文档。文档中包含了两部分,分别是MATLAB调用Python,和Python调用MATLAB.
在SIMULINK中调用python函数,首先我们考虑到将调用python的函数语句,写进MATLAB-Function中。但是这种方式需要将语句声明成外部编译的方式,这样将降低效率,SIMULINK流程图和m函数如下:
再实时仿真的环境中应用python函数,采用S-Function的方式进行调用py语句。采用S-function的方式不需要外部编译的方式,提高了仿真效率。
S-Function为。
以上为通过MATLAB语句和SIMULINK模块对Python函数进行调用。
二、通过Python调用MATLAB
在Python中调用MATLAB有多种方式。这里采用MATLAB提供的引擎进行调用。这种方式对于调用MATLAB中的一些简单语句还是很方便的。
具体操作为,
下面的一个例子,在python中调用MATLAB引擎进行绘图。
更多的细节可以参考官方文档:
https://cn.mathworks.com/help/matlab/matlab-engine-for-python.html
还用很多直接调用matlab的方法参见:
http://www.jianshu.com/p/02fd2ef6f174
————————————————
版权声明:本文为CSDN博主「这个不太懂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chengzhe412/article/details/78555445