如何将实验结果在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 Compiler Runtime,没有 MATLAB 的用户也可以使用 MATLAB Compiler 创建的应用程序和库,而无需支付版税。您既可以将 MATLAB Compiler Runtime 与应用程序打包到一起,也可以让您的用户在安装过程中进行下载【MCR下载地址】。
今天有同学遇到这个问题,上网查了一下好像是因为你的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虚拟机版本是jdk1.6.0_12
java调用matlab函数的更多相关文章
-
(转)JAVA 调用matlab
本文仅用于学习. 原文地址链接:http://blog.csdn.net/wannshan/article/details/5907877 前段时间摸索了java调用matlab东西,不说学的有多深, ...
-
java调用matlab绘图
一 注意事项 1: MatLab的版本必须是2006b+(包括2006b或更高版本),因为只有在这些版本中才有MATLAB Builder for Java(也叫Java Builder). 2: 运 ...
-
opencv通过dll调用matlab函数,图片作为参数
[blog 项目实战派]opencv通过dll调用matlab函数,图片作为参数 前文介绍了如何“csharp通过dll调用opencv函数,图片作为参数”.而在实 ...
-
Android使用JNI(从java调用本地函数)
当编写一个混合有本地C代码和Java的应用程序时,需要使用Java本地接口(JNI)作为连接桥梁.JNI作为一个软件层和API,允许使用本地代码调用Java对象的方法,同时也允许在Java方法中调用本 ...
-
JAVA调用matlab代码
做实验一直用的matlab代码,需要嵌入到java项目中,matlab代码拼拼凑凑不是很了解,投机取巧采用java调用matlab的方式解决. 1. matlab版本:matlabR2014a ...
-
C/C++下调用matlab函数操作说明
1.matlab的安装 连接:http://pan.baidu.com/s/1qXuF7aO 安装32位版本的matlab(在目录下bin文件夹中有两个文件夹,选择win32文件夹下的setup进行安 ...
-
3D Slicer中文教程(六)—调用matlab函数(MatlabBridge使用方法)
1.安装MatlabBridge插件 (1)在工具栏找到Extension,点击进入Extension Manager (2)找到MatlabBridge,安装 2.配置MATLAB环境 (1)在模块 ...
-
C++调用matlab函数
C++与matlab混合编程——C++调用MATLAB函数 笔者最近在从事一个MFC相关的项目,要求将用Matlab实现的算法通过应用MFC制作成一个小应用.其中有一部分内容需要求一个多元函数的最值. ...
-
C++调用Matlab函数求特征值
最近需要用到C++和Matlab的混编,记录一下学习过程~ 要实现的是调用Matlab函数,求矩阵前k个最小的特征值及其特征向量. //C++ #include "engine.h" ...
随机推荐
-
《Android深度探索HAL与驱动开发》第三章阅读心得
Git是Linux内核代码对源代码进行管理的软件,他的各方面要优与其他同类的源代码管理软件. 安装Git后,查看Git文档在Linux下可以直接使用man命令看指令的帮助文档.安装git-doc后会安 ...
-
CE 内存申请
char ch_ReadByte='H'; char *ptr_OneLineData; unsigned ); if ((ptr_OneLineData = (char *)malloc(bufsi ...
-
Autodesk View and Data API练练手
大家如果参加过我们的活动,你应该已经听过看过不少关于View and Data Web Service的例子里,如果还没有的话,请看看下面这几篇: http://www.cnblogs.com/jun ...
-
士兵站队问题sol
作者:http://www.cnblogs.com/taoziwel/articles/1859577.html 相类似题目:输油管道问题 [问题描述] 在一个划分成网格的操场上,n个士兵散乱地站在网 ...
-
UVa10779 Collectors Problem(最大流)
很容易想到源点向所类型有贴纸连边,容量为Bob一开始有的数量:然后贴纸向汇点连边,容量为1. 接下来就是交换部分的连边了.注意交换一次一次进行,每次只能交换一张. 交换,是对于两种贴纸而言,仅会发生在 ...
-
QQ邮箱附件发送
一.先造一个邮件发送的窗体 二.编辑邮件发送的代码(包括附件) ①附件添加对话框 string file; private void button6_Click(object sender, Even ...
-
LitJSON使用
地址:http://lbv.github.io/litjson/docs/quickstart.html LitJSON Quickstart Guide Introduction Quick Sta ...
-
Json操作
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
-
JMeter对Selenium自动化代码进行压测
原文转载:http://www.blogjava.net/qileilove/archive/2014/06/05/414423.html 准备工作: 将文件selenium-server-stand ...
-
NGUI等比缩放
/// <summary> /// UI 等比缩放 /// </summary> static private void AdaptiveUI() { ; ; UIRoot u ...