一直在寻找Matlab与其他语言的接口开发方法,但是之前的方法都需要一个唤醒引擎的过程,无论是将.m转为jar或者dll,其他语言调用起来非常慢。后来最近发现,可以将Matlab开放为Http接口。这引起了极大的兴趣。也希望有志同道合的朋友一起交流经验。xuhaifeng(qq_657510410)
过程如下:
a. 首先要安装matlab production server,在matlab软件包安装包,从新执行Setup.exe
b. 安装密钥选择:(选择不同的密钥所安装的软件包不一样,098…这个是安装matlab的,后面402…这个是安装matlab production server的。)
c. (很重要)配置netapi32.dll,将破解文件中的
文件:MATLAB Production Server\R2017a\bin\win64\netapi32.dll
(注意不是破解文件里面有两个文件夹,要选择MATLAB Production Server这个)
复制去:matlab production server安装目录中的(不是matlab的安装路径,是MATLAB Production Serve的安装路径)
E:\MATLAB_R2017b\MATLAB Production Server\R2017b\bin\win64中去
d. 很重要安装matlab runtime,下载与版本对应的Runtime,下载地址:
https://www.mathworks.com/products/compiler/matlab-runtime.html
e. 很重要 将matlab production server和matlab runtime 配置在环境变量
f. 示例:
连接:https://ww2.mathworks.cn/help/mps/qs/start-a-matlab-production-server-instance.html
参数说明:https://ww2.mathworks.cn/help/mps/unix-and-dos-control-scripts.html
首先创建实例 mps-new mytest –v。如果出现该问题说明出现安装了多个Runtime
开始运行服务,无报错说明成功。
g. 完整实例
首先创建一个部署文档:实例连接(
https://ww2.mathworks.cn/help/mps/ml_code/create-a-deployable-archive-for-matlab-production-server.html)
注意在matlabrc.m之类的启动形文件中,不能添加路径,否则报错。
将for_redistribution后缀为ctf的文件复制到服务文件夹对应的auto_deploy文件中
开始测试,先运行,在查状态:
之后再E:\MATLAB_R2017b\MATLAB Production Server\R2017b\client\python中安装
使用命令行安装:Python setup.py install (该python脚本只支持python2.7)
最后测试编写: