Python调用Matlab方法以及测试程序

由于笔者需要在python程序中调用matlab,故记录下调用方法以及测试。

系统环境:win10 + python2.7 + Matlab R2016a

API

MATLAB在安装的过程中已经准备好了相关文档。
第一步要做的就是确定自己电脑matlab的安装目录,找到以下路径
cd ...MATLAB\R2016a\extern\engines\python

笔者安装路径为: C:\Program Files\MATLAB\R2016a\extern\engines\python
Python调用Matlab方法以及测试程序_第1张图片

之后以管理员方式启动command window(重要!!),在里面定位到以上路径,输入python setup.py install,即可开始运行安装。
python setup.py install

【注意】笔者电脑刚开始只用了python3.6,运行完提示只支持python2.7,3.3和3.4版本,因此又重新创建了一个python27的环境。

image_1d74q25ugfgb1mlj1uvq9041loa1t.png-18.4kB

后来另一个问题又出现了,笔者在使用powershell来运行的时候,python27环境一直无法激活
image_1d74pm8qn5k14sphvfi0m49um.png-6kB

后来发现需要先以管理员身份启动powershell,在其中输入:
Set-ExecutionPolicy RemoteSigned

之后提示如下:

PS C:\WINDOWS\system32> Set-ExecutionPolicy RemoteSigned
执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如http://go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助(默认值为“N”):Y

输入Y,然后回车
至此结束,重新开一个PowerShell就可以在其中正常使用activate python27来激活虚拟环境了,发现激活成功
之后再运行 python setup.py install

Python调用Matlab方法以及测试程序_第2张图片

在python下import matlab发现导入成功。

Python调用Matlab方法以及测试程序_第3张图片

Test

在matlab中新建一个test.m文件,然后命名一个test函数,来计算y=3x+4

function y = test(x)
    y = 3*x+4;

Python调用Matlab方法以及测试程序_第4张图片

在同一目录下,新建一个matlabtest.py文件,调用test.m文件中的test函数

import matlab
import matlab.engine

engine = matlab.engine.start_matlab() # Start MATLAB process
y = engine.test(3)  #求解x=3时,y=a*x+b的值
print(y)

测试效果如下:

Python调用Matlab方法以及测试程序_第5张图片

你可能感兴趣的:(Matlab)