python如何调用matlab代码,有哪些方式呢?


这里简单介绍一下吧,目前有2种简单的方式,一种是安装mlab模块,一种是使用matlab自带的python API接口,这2种方式都可以完成matlab代码的调用,下面我简单介绍一下这2种方式,实验环境win10+python2.7+pycharm5.0,以matlab R2017a为例,主要内容如下:

这里为了方便说明调用过程,我新建了一个test.m文件,里面主要是一个测试函数test,截图如下,非常简单,后面的实验都是调用这个test函数:

mlab模块

这是早期python调用matlab的一种方式,比较简单,目前只支持python2,不支持python3,下面我简单介绍一下这种方式:

1.首先,安装mlab模块,这个直接在cmd窗口输入命令“pip install malb”就行,如下,非常简单:

2.编写完成后,我们就可以直接编写代码进行调用了,测试代码如下,非常简单,这里主要指明m文件所在的目录,然后直接调用test函数就行:

点击运行这个程序,就会得到调用test函数返回的结果值,如下:

API接口

也就是matlab自带的Engine API for python,一个python源码安装包,直接安装完成后,就可以调用matlab代码了,目前,这种方式支持的python版本主要是python2.7、python3.4和python3.5,下面我简单介绍一下这种方式:

1.首先,安装Engine API for python,这个直接在matlab安装目录下找就行,主要在engines目录中,如下,有2个API接口,一种是java,一种是python:

这里我们选择python,点击进去,一个源码包:

打开cmd窗口,切换到这个目录,然后直接运行命令“python setup.py install”安装就行,如下:

2.安装完成后,我们就可以直接编写代码调用matlab函数了,测试代码如下,也非常简单,和m文件在放在一个目录下:

点击运行这个程序,就能得到调用test函数返回的结果,如下:

至此,我们就完成了python调用matlab的2种方式。总的来说,这2种方式都非常简单,只要你熟悉一下上面的代码,很快就能掌握的,当然,你也可以先编译为dll文件,然后再调用也可以,网上也有相关资料和教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。


小小猿爱嘻嘻


MATLAB可与许多编程语言(C、C++、Java、Python)灵活双向集成,包括 Python。这大大方便了不同编程语言工程师相互使用。

Python可以通过MATLAB Python API 引擎来调用:


Python 调用 MATLAB API 方法:

1. 安装Python 的 MATLAB 引擎 API:

Windows 系统中 :

cd "matlabroot\\extern\\engines\\python"

python setup.py install

Mac 或 Linux 系统:

cd "matlabroot/extern/engines/python"

python setup.py install

2. 调用实例:

启动用于 Python 的 MATLAB 引擎

import matlab.engine

eng = matlab.engine.start_matlab()

停止引擎

eng.quit()

通过 Python 调用 MATLAB 函数:

import matlab.engine

eng = matlab.engine.start_matlab()

tf = eng.isprime(37)

print(tf)

通过 Python 调用用户脚本和函数:

您的当前文件夹中名为 triarea.m 的文件中创建一个 MATLAB 脚本。

b = 5;

h = 3;

a = 0.5*(b.* h)

import matlab.engine

eng = matlab.engine.start_matlab()

eng.triarea(nargout=0)

在 Python 中使用 MATLAB 数组:

import matlab.engine

eng = matlab.engine.start_matlab()

a = matlab.double([1,4,9,16,25])

b = eng.sqrt(a)

print(b)

[[1.0,2.0,3.0,4.0,5.0]]

引擎返回 b,它是 1×5 的 matlab.double 数组。


以上就是Python如何调用MATLAB 的基本步骤和方法,希望能够帮助到你!


程序猿来导事


1。编译成dll.调用

2.编译成exe调用。

3动态调用

4. web调用

5.接口调用

6做成板子调用

基本这几种。


分享到:


相關文章: