首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

Java Web网站应用Matlab问题解决方案

作者:马景涛 郑斌 张利益 孔伟伟 来源:现代电子技术

摘要: 为了应用专业数据软件Matlab,提高供电企业网站对用户信用分析的处理能力,在应用MatLab提供的MCR,实现Web网站对数据分析处理的功能同时,通过源码分析和进程跟踪对MCR与Java的结合与应用的过程进行仔细的对比分析。在不同的部署环境中,设置好应用MCR所需的相同环境变量后,对Web网站运行情况的结果进行对比,整理出各种由于MCR本身与Java版本造成的冲突,导致Java网站无法正常应用MCR处理数据的解决方案。该方案为相关业务领域开发提供了有效的技术支持,创造了很好的社会效益和经济效益。

关键字: Web应用; MatLab; Java; MCR

中图分类号: TN964?34 文献标识码: A 文章编号: 1004?373X(2013)06?0056?03

0 引 言

利用MatLab(MATrix LABoratory)专业软件对数据处理的能力,可以充分利用各种数学理论,提高Web网站的数据挖掘、分析、处理能力。然而,目前已知的相关内容都是简单的应用方法描述,并无对相应问题的处理方案。本文在描述Web网站中应用MCR进行开发的流程同时,进一步解决了各种可能遇到的问题,为类似开发提供了完善的解决方案。

1 Java Web网站应用Matlab流程

1.1 Web应用MCR(Matlab Compiler Runtime)过程说明

(3)在Setting中设置General,在Generate Verbose Output前打勾,Object Instances Share MCR则不打勾。

(4)设置完成后,将编译好的Logistic.m文件拖动到项目默认的Logisticclass文件夹下,再点击编译按钮,生成对应jar包Logistic.jar[2]。

1.1.2 设置Web网站服务器环境变量

Web网站是以一个平台设置的,简单以tomcat部署的网站为例,使用的是jdk1.5.0_08。

(1)确认服务器上已经安装jdk1.5.0_08和tomcat,且网站已经部署[3]。

(2)将Matlab安装路径\R2008a\toolbox\compiler\deploy\win32下的MCRInstaller.exe复制到服务器上,并安装Matlab Compiler Runtime到默认的C盘。

(3)修改环境变量,配置JAVA_HOME,CLSSPATH和PATH后,检查jdk,javabuilder等路径。需要注意的是,jdk版本需要与Matlab生成jar包的jdk版本最好一致[4]。

1.2 JAVA_HOME路径

1.4 Path路径

1.6 网站定时任务

1.7 各种问题的解决方案

MCR一直挂起的问题解决方案:

在Matlab编译的时候,有些人点选了 Object Instances Share MCR,实际上会造成启动Logisticclass后,就会始终启动MCR,而不会结束,形成挂起,这个在Main的静态方法中,大家可以试验得到。

就是为了事先定义Logisticclass传递给DAO进行数据处理

1.8 MCR环境变量无法找到的解决方案注意事项

(1)首先检查系统环境变量path,java_home,classpath是否有遗漏。

(2)如果是使用Weblogic服务时,注意需要保证jdk一致。需要专门设置Matlab_JAVA的变量,具体应当指向Weblogic安装时安装的目录下,如D:\bea\jdk150_04\jre。

(3)如果都确定没有遗漏,依旧有路径问题“Failed to find the runtime libraries, required by Matlab Builder JA, on system path“这样的错误。则要在系统调用前,指定“java.library.path”属性, System.setProperty("java.library.path", "C:\\Program Files\\Matlab\\Matlab Compiler Runtime\\v78\\runtime\\win32");此路径,由服务器安装的路径进行相关设置。

2 相关技术介绍

2.1 Matlab

Matlab是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括Matlab和Simulink两大部分。它提供的Matlab Compiler Runtime[6]与Matlab Builder JA[7]联合工作可以为Java环境提供数据处理、分析、计算等功能[8]。

2.2 Logistic模型

Logistic模型是由Martin于1977年被提出,用以预测公司的破产和违约概率的模型。此模型根据银行,投资者的风险偏好设定风险警戒线,以此进行风险定位。其预测能力优于Z?Score和ZETA模型[9]。1983年,Madalla采用Logistic模型区别违约与非违约贷款申请人,并计算出违约概率p≥0.551时是风险贷款,p<0.551时是非风险贷款[10]。David West于2000年研究表明,Logistic具有很高的判别准确率。高于神经网络模型和统计分量模型[11]。目前为止,众多研究表明,Logistic回归模型不要求数据满足正态分布。因此,在满足正态分布的条件下,Logistic回归模型与判别分析模型具有相同的判别准确率,而在不满足正态分布的条件下,Logistic回归模型具有更高的精度[9]。

3 应用分析

本解决方案特别适用于需要对数据深入分析,进行各种科学计算的应用网站系统,例如,客户信用分析系统。电力营销对客户信用风险分析的场景中,需要通过对数据的进一步分析[12],通过层次信用模型对用户的信用进行计算,再根据抽样的信用数据,通过二元Logistic逻辑回归模型进行分析,利用Matlab语言,对数据进行处理后,计算出用户各项风险参数权重,最终可以分析出用户在未来违约的可能概率,从而为电力公司提供客户安全风险依据。

4 结 语

本文专门针对在Web中应用Matlab Compiler Runtime (MCR)时的各种问题,提供了对应的解决方案,在一定程度解决了由于Matlab提供的JavaBuilder(Matlab Builder for Java)暂未完善导致的网站部署问题,为类似开发提供了完善的解决方案。今后会在解决方案型的基础上继续完善,更深入地研究应用各种数学工具进行科学计算的优化、容错策略。

参考文献

[1] 王正盛. Matlab数学工具软件简明教程[D].南京:南京航空航天大学,2002.

[2] 杨晓霞,侯锐锋. Visual C#.NET,Delphi,Java与Matlab接口技术的研究[J].云南大学学报:自然科学版,2008(z2):247?249.

[3] 陈宏希,邹益民.用Matlabcontrol实现Java与Matlab的混合编程[J].工业仪表与自动化装置,2012(3):27?30.

[4] 张崇明,汪春梅,朱品昌,等.使用Java扩展Matlab[J].计算机应用与软件,2006(6):1563?1565.

[5] 冯文龙,雷景生.基于Web服务的存储网格数据交换[J].计算机工程,2007,33(19):109?111.

[6] 向遥,李宏,谢政.运用Java编程扩展Matlab虚拟现实的交互功能研究与实现[J].计算技术与自动化,2006(1):83?85.

[7] 杨斌.Linux系统下Java与Matlab混合编程及应用[J].电脑编程技巧与维护,2010(8):29?31.

[8] 林美,吕新安,齐从谦.基于Matlab与Java的混合编程研究及实现[J].农业网络信息,2006(12):31?34.

[9] MARTIN D. Early warning of bank failure:a logit regression approach [J]. Journal of Banking and Finance, 1977 (3):249?276.

[10] MADALLA S G. Limited?dependent and qualitative variables in econometrics [M]. Cambridge:Cambridge University Press, 1983.

[11] WEST D. Neural network credit scoring models [J]. Computer & Operations Research, 2000, 27:1131?1152.

[12] 刘冰寒.信息系统风险评估及量化方法研究[D].济南:山东建筑大学,2011.