博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java调用matlab函数
阅读量:4513 次
发布时间:2019-06-08

本文共 2042 字,大约阅读时间需要 6 分钟。

如何将实验结果在matlab中可视化呢,下面使用java语言编程,调用matlab中的函数:

本人安装的是Matlab7.11.0 (R2010a)和 Eclipse 4.2 ;

1)首先设置环境变量,运行tomcat,Eclipse等都需要依靠环境变量JAVA_HOME,Path,classpath,具体的设置可以参考

为了使在matlab中将.m函数编译为jar包,还需要在classpath中添加:

%matlabInstallRoot%\R2010a\toolbox\javabuilder\jar\javabuilder.jar(具体依据matlab版本而定版本)

 

2)将Matlab的m文件编译成jar包

 

  这里我们使用Matlab自带的例子,在路径

%matlabInstallRoot%\R2010a\toolbox\javabuilder\Examples\PlotExample

下,此处是m文件:

function drawplot(x, y)  plot(x, y); %%使用matlab函数plot()作图

在MATLAB中Command窗口中输入deploytool调出部署工具DeploymentTool。新建一个工程,输入工程名Demo.prj,选择路径,并选择Target为 Java Package。

 

在MATLAB右侧会出现我们新建的工程。

将刚刚编写的m文件直接拖拽进去,并重命名类名为plotter,点击Build编译:

 

点击编译后(过程有点长~),看到build finished。就会刚刚设置的路径下看到Demo的文件夹。

 

3)在java工程中调用matlab生成的类

 

新建工程TryMatlabPlot,并右键在Build Path中引用相关的包

%matlabInstallRoot%\R2010b\toolbox\javabuilder\jar\jarbuilder.jar

以及刚刚生成的plotdemo\distrib\plotdemo.jar

 

 

期间遇到的问题

【1】用matlab画图(一个工业项目),然后利用java调用,jar包什么的已经打完了,但是程序不报错,只是图像不显示。

解答:java调用显示不出图的 可能是因为jdk版本问题

jdk1.7的好像显示不了。用jdk1.6的就可以了

【2】使用jdk1.6后报错,:

 

Exception in thread "main" java.lang.UnsatisfiedLinkError: Failed to find the library mclmcrrt713.dll, required by MATLAB Builder JA, on java.library.path. This library is typically installed along with MATLAB or the MCR, its absence may indicate an issue with that installation or the current path configuration.The MCR version that this component is trying to use is: 7.13.
 

解答:copy个mclmcrrt713.dll过来放到c:/windows/system32下面

 

MATLAB Compiler™ 能够将您的 MATLAB® 程序编译为独立的应用程序,或可与其它通用编程语言集成的共享库。通过安装,没有 MATLAB 的用户也可以使用 MATLAB Compiler 创建的应用程序和库,而无需支付版税。您既可以将 MATLAB Compiler Runtime 与应用程序打包到一起,也可以让您的用户在安装过程中进行下载【】。

 

今天有同学遇到这个问题,上网查了一下好像是因为你的matlab所运行的java虚拟机和你程序的java虚拟机,一个是64位,一个是32位,或者版本不同导致的。matlab输入version -java看一下java版本,然后如果是64位的就去下一个安装。我是用eclipse给你提供个eclipse 的修改方法,去你eclipse点window=>preferences=>installed JREs=>add,将新安装的加进去,然后去你的项目右键=>properties=>java build path=>libraries把之前的jre删了,然后点add  librariy=>JRE system library=>alternate JRE,选你刚装的jre,finishing,ok,完成,运行吧,少年,祝好运【】

 

matlab2010Ra的java虚拟机版本是

 

转载于:https://www.cnblogs.com/abc8023/p/4217012.html

你可能感兴趣的文章
Jmeter属性和变量
查看>>
java并发编程:并发容器之CopyOnWriteArrayList(转)
查看>>
python基础——面向对象进阶下
查看>>
Linux vi 命令详解
查看>>
本地如何搭建IPv6环境测试你的APP
查看>>
C++ NULL与nullptr的区别
查看>>
Discretized Streams, 离散化的流数据处理
查看>>
Spark源码分析 – SchedulerBackend
查看>>
python字符串处理
查看>>
live555学习笔记4-计划任务(TaskScheduler)深入探讨
查看>>
Python虚拟机函数机制之名字空间(二)
查看>>
线段树
查看>>
SharePoint2010联合搜索——Google、百度
查看>>
php静态
查看>>
python基础之文件操作
查看>>
在eclipse里头用checkstyle检查项目出现 File contains tab characters (this is the first instance)原因...
查看>>
个人github链接及git学习心得总结
查看>>
c++ 计算器 带括号 代码实现
查看>>
objective -c初写
查看>>
C#中如何设置窗体的默认按钮和取消按钮
查看>>