失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux下java调用matlab程序 linux_java调用windows_matlab程序

linux下java调用matlab程序 linux_java调用windows_matlab程序

时间:2021-07-16 06:14:34

相关推荐

linux下java调用matlab程序 linux_java调用windows_matlab程序

0说明

本文为研究java和matlab的混合编程,进行了详细的测试和探索,以解决linux环境下java程序调用matlab程序的一个应用。

linux端的环境:(运行java程序并调用windows环境下的Matlab生成的jar包文件)

lLinuxubuntu3.5.0-17-generic

ljavaversion"1.6.0_45"

lMCR_Ra_glnx86_installer.zip

windows端的环境:(调试matlab程序,并使用javabuilder生成供java调用的jar包文件)

lwin7X86(32位)

ljavaversion"1.6.0_27"

lmatlaba

leclipse版本不限

(64位的方法雷同)

1win7下安装vm和vmtool

在vm上安装win7(x86)32位;注意处理器是intel的。(amd处理器需要特殊处理,此处略)

2win7下安装matlab

7.14.0.739(Ra),需要虚拟光驱。

注意用standalone安装,可以参考crack路径下的install提示,安装完成后需要导入证书

3Matlab查看需要的jdk版本

>>version-java

ans=Java1.6.0_17-b04withSunMicrosystemsInc.JavaHotSpot(TM)ClientVMmixedmode

4win7下载和安装jdk

下载1.6的当前最高版本

配置:

新建JAVA_HOMEjdk路径

新建CLASSPATH.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

新建PATH%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

在matlab中输入!javac验证是否安装jdk成功

5Matlab新建helloworld.m文件

functionhelloworld

%clc

info=char('MATLABhelloworld!');

disp(info);

在matlab中测试输入helloworld将会打印出这句话。

6Matlab新建javaproject

可以命令台输入>>deploytool调出ja

添加class和m等资源,按编译按钮,大概需要几分钟时间。

7win7下测试java调用matlab

eclipse新建一个测试工程,导入生成的helloworld.jar和javabuilder.jar(注意系统版本对应)

测试结果如下

8linux下载和安装mcr

下载mcr

(这里选择linux32位的mcrX86)

安装mcr

修改installer_input.txt的字段,打开#开头的语句,并赋值

destinationFolder=/hadoop/matlab#修改安装路径

agreeToLicense=yes

fileInstallationKey=38699-60149-36808-21840-05491

licensePath=/home/hadoop/mcr/lic_standalone.dat

outputFile=/home/hadoop/mcr/log/1.log#修改日志路径

mode=silent

等等

./install-inputFileinstaller_input.txt(如果不行则用root命令进行安装)

如下提示则安装成功

(Jun17,20:09:03)Assemblingproductlist...

(Jun17,20:09:16)Thedestinationfolder/hadoop/matlabdoesnotexist.Wouldyouliketocreateit?

(Jun17,20:09:17)InstallingProduct:MATLABCompilerRuntime7.17

(Jun17,20:11:12)Notes:

Onthetargetcomputer,appendthefollowingtoyourLD_LIBRARY_PATHenvironmentvariable:

/hadoop/matlab/v717/runtime/glnx86:/hadoop/matlab/v717/bin/glnx86:/hadoop/matlab/v717/sys/os/glnx86:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386/native_threads:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386/server:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386

Next,settheXAPPLRESDIRenvironmentvariabletothefollowingvalue:

/hadoop/matlab/v717/X11/app-defaults

(Jun17,20:11:12)Exitingwithstatus0

(Jun17,20:11:12)End-Successful.

下载和安装jdk

配置jdk和mcr

>>vi.profile

exportJAVA_HOME=/hadoop/jdk1.6.0_45

exportJRE_HOME=/hadoop/jdk1.6.0_45/jre

exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

#这些是jdk的环境变量

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/hadoop/mcr/bin/glnx86/:/hadoop/matlab/v717/runtime/glnx86:/hadoop/matlab/v717/bin/glnx86:/hadoop/matlab/v717/sys/os/gln

x86:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386/native_threads:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386/server:/hadoop/matlab/v717/sys/java

/jre/glnx86/jre/lib/i386

exportXAPPLRESDIR=$XAPPLRESDIR:/hadoop/matlab/v717/X11/app-defaults

#后面两个环境变量是matlab的配置路径,安装matlab完成后会自动提示。

其他设置

vi~/.bashrc

aliasmatlab='/usr/local/MATLAB/MATLAB_Compiler_Runtime/v717/bin/matlab'

如果运行matlab命令找不到libc.so.6,则sudoln-s/lib/i386-linux-gnu/libc-2.15.so/lib/libc.so.6

如果允许matlab命令报matlab:NoMATLABexecutableforthismachinearchitecture.错,

下载linuxjdkx86(32位)

9linux测试java调用matlab

用eclipsefat-jar对此进行打包后,注意将7中的javabuilder换成javabuilder\ja\glnx86路径下的jar文件

成功。

到此,java调用matlab程序的整个过程基本叙述结束。

如果觉得《linux下java调用matlab程序 linux_java调用windows_matlab程序》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。