用Matlab开发Predix Analytics(1)开发一个Matlab分析模型

本博客介绍如何在Windows7环境下使用Matlab R2011b开发分析模型,并将其部署到PredixCloud的过程。包括配置Java环境变量、模型开发及测试、将Matlab模型转换为Java Jar包等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:唐翊国,开发者生态资深经理,GE数字集团

23年工作经验,长期在杜邦、欧文斯科宁、庄信万丰等从事制造业信息化工作,规划、实施了大量MES、SAP ERP、LIMS、BPM等项目,积累了丰富的制造业数字化转型经验。


摘要

在本系列博客中,我会以示例的形式分享如何在Windows 7操作系统上用Matlab开发一个分析模型,然后部署这个模型到Predix Cloud上。注意:目前Predix支持的Matlab 版本是R2011b和R2012a,本文中是以R2011b作为实例的。

准备工作

在我们开始用Matlab开发一个分析模型前,我们要检查一下开发环境,确保安装了Matlab R2011b,特别是检查安装了Java Builder,可以通过检查以下路径,

C:\Program Files\MATLAB\R2011b\toolbox\javabuilder\jar

存在一个javabuilder.jar文件来确认。

与之对应的,我们需要安装JDK 1.7 (JDK 1.8不能成功编译这个版本的Matlab文件),可以从以下网址下载

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

注意:安装完JDK 1.7后,我们必须手工设置Windows环境变量。

打开控制面板,选择系统-> 高级系统设置


点击“环境变量”


创建一个新的系统变量

“CLASSPATH” = “;”


创建一个新的系统变量

 “JAVA_HOME”= “C:\Program Files\Java\jdk1.7.0_80”


编辑 “Path” 并增加“C:\Program Files\Java\jdk1.7.0_80\bin;”



开发一个Matlab分析模型

我不是一个“数据科学家”微笑, 所以我会从Predix在Github上的代码库中借鉴一个现成的Matlab模型,访问

https://github.com/PredixDev/predix-analytics-sample

在命令行中克隆这个例子:

git clonehttps://github.com/PredixDev/predix-analytics-sample


我们可以找到一个Matlab 文件LocomotiveRegression.m,它位于:

C:\PxDev\predix-analytics-sample\analytics\demo-RTM-loco\demo-RTM-loco-matlab-r2011b\data\locomotive

按照Predix 分析服务的要求,LocomotiveRegression.m 要使用一个“JSON” 模块来处理JSON 文件的解析工作 ,我们可以从Matlab的社区中下载到这个JSON模块:

https://cn.mathworks.com/matlabcentral/fileexchange/20565-json-parser

为了确保这个模型能正常工作,我们新建一个文件夹,

C:\PxDev\matlab

复制LocomotiveRegression.m,JSON.m,还有LocoData.json 到C:\PxDev\matlab。

在创建一个新的test.m 文件,

fname = 'LocoData.json';

fid = fopen(fname);

raw = fread(fid,inf);

input = char(raw');

fclose(fid);

tstart=clock;

output = LocomotiveRegression(input);

fprintf('Analytics used $%.4fs\n',etime(clock,tstart));

在Matlab中运行test.m,我们可以看到这个模型耗时14.7秒处理了JSON文件中的数据,并得到相应的结果,见下图中的output字段。


测试好模型后,我们要把它变成一个可以在Predix上运行的Java Jar包。在Matlab里运行deploytool


输入这个项目的名字:LocoRegression,选择类型为 “Java Package” 。


点击OK,我们就创建好了一个目前还是空的Java 包


只需要简单地从C:\PxDev\matlab里拖放LocomotiveRegression.m 和JSON.m 这两个文件到“Build”页签就可以了,


然后点击右上角的“Build” 按钮,Matlab就开始把这两个Matlab 模型文件转化成一个Java Jar 包:


一旦创建过程结束,我们就可以找到生成的LocoRegression.jar 文件,其位于

C:\PxDev\matlab\LocoRegression\distrib

复制LocoRegression.jar 到

C:\PxDev\predix-analytics-sample\analytics\demo-RTM-loco\demo-RTM-loco-matlab-r2011b\src\main\resources\lib

从C:\Program Files\MATLAB\R2011b\toolbox\javabuilder\jar里复制 javabuilder.jar到

C:\PxDev\predix-analytics-sample\analytics\demo-RTM-loco\demo-RTM-loco-matlab-r2011b\src\main\resources\lib


在命令行中运行以下命令来生成一个完整的Jar包:

cdC:\PxDev\predix-analytics-sample\analytics\demo-RTM-loco\demo-RTM-loco-matlab-r2011b

mvn clean package


生成成功后,我们可以看到一个demo-RTM-loco-matlab-r2011b-1.0.0-SNAPSHOT.jar文件:

C:\PxDev\predix-analytics-sample\analytics\demo-RTM-loco\demo-RTM-loco-matlab-r2011b\target


这个文件就是我们后续要部署到Predix Cloud上的可执行Matlab分析模型了。

 

注意:

当你开发自己的Matlab Jar 包时,务必要记得对

C:\PxDev\predix-analytics-sample\analytics\demo-RTM-loco\demo-RTM-loco-matlab-r2011b\src\main\java\com\ge\predix\insight\analytic\demo\matlab\LocoRegDemo.java

文件做相应的修改。

在使用中您有任何问题,请访问我们的论坛http://bbs.youkuaiyun.com/forums/GEPredix

GE数字集团的技术专家们会在线回答您的问题。

也请访问我们在优快云的Predix专区http://predix.youkuaiyun.com/ 了解更多Predix的内容和相关活动。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值