Matlab Compiler Runtime与tomcat应用于matlab和java混编及网站开发

本文详细介绍了如何使用Matlab Compiler Runtime(MCR)、jar文件和Tomcat服务器,将Matlab程序集成到Java Web应用中。通过在Windows和Linux环境下配置MCR,编译Matlab代码为jar,解决依赖问题,并在Tomcat上运行,以提升网站响应速度和减少资源占用。实践过程包括在Windows上编译Matlab代码,Windows和Linux平台的环境配置,以及编写配合Tomcat运行的网站代码。
摘要由CSDN通过智能技术生成

Matlab Compiler Runtime(MCR)
“MATLAB Runtime 是一组独立的共享库,可用于在未安装 MATLAB 的计算机上执行编译后的 MATLAB 应用程序或组件。 MATLAB, MATLAB Compiler与 MATLAB Runtime 配合使用,可以快速、安全地创建和分发数值应用程序或软件组件。”
MCR还可以配合matlab的Library Compile package编译matlab代码为c++、java、python等语言
所以我们可以把使用library compile package**把matlab程序编译成jar,然后配合tomcat发布javaweb网站。**
之前使用matlab程序做网站的做法都是在server上装一个matlab,web的java后台调用系统命令启动matlab,执行matlab脚本,存储结果web在使用java代码调用结果文件。这样做网站响应速度会很慢,而且占web server的很大资源。
使用mcr要好很多。

下边我们来动手实践吧(matlab2017a,windows8.1,server:ubuntu14.04)加粗显示的都是趟过的报错坑:

首先我们要明确我们的任务,我们的最终目标是要把依赖第三方工具包(一个深度信念网络包)的matlab程序编译成jar(涉及一个很复杂的第三方包,不知道能不能成),混合到web的java后台代码中。(成的话,我们就算实践了mcr最复杂的用法)
所以:
1. 在windows本机上使用library compile package编译matlab代码
2. 先在windows平台上配置环境试验是否可以运行jar
3. 在linux服务器上配置环境试验是否可以运行jar
4. 编写网站配合tomcat上传运行jar

1、在windows本机上使用library compile package编译matlab代码

首先只要使用matlab编译java,都是要配置和matlab相对应的jdk的
在Matlabd的Command Windows中输入version -java
没错,最新的matlab2017a也是 ‘Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode’
所以装1.8的,可以下载一个1.7zip版,配置环境变量
打开cmd 分别输入命令java -version和javac -version分别验证编译和运行版本。
javac没配置好,编译jar包是要报错的。
jdk版本版本不对是要报错的。
编译jar时内存不足也是会报错的:Failed to embed unzip in your applicationUpdate resource failed: 00000000CE555B5,Failed to embed installer splash screen …toolbox\compiler\Resources\default_splash.png. Update resource failed: 0000000037E55CB0
编写主函数脚本,这个脚本要做到对外提供一个接口之类的作用,比如我们这个文件是根据用户输入的文件路径,生成深度信念网络跑出来的特征:

    function []=getDbnFeat(file_path)  
    [tits, seqs]=fastaread(file_path);  
    num=length(tits);  
    len=length(char(seqs(1)));  

    Y=zeros(num,1);  
    X=zeros(num,len*4);  
    %onehot  
    for i=1:num  

        str=char(tits(i));  
        temp=strsplit(str,'|');  
        label=char(temp(2));  
        if label=='1'  
            Y(i)=
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值