在Java中调用MATLAB函数
2017-03-21 14:33
197 查看
在Java中调用MATLAB函数
一.准备工作:配置Java环境,jre版本为1.7;安装MATLAB(2016a版),MATLAB自带jre版本也是1.7(两者一致)
*查看MATLAB中jre版本语句:》version –java
二.具体操作步骤
1.MATLAB中:
1)新建脚本,在脚本中使用function命令定义.m文件
保存脚本:将.m文件保存到某新建文件夹下(eg./桌面/ mjtest)
2)在命令行窗口输入deploytool命令 选择LibraryComplier TYPE:JavaPackage
AddExported function:添加之前写好的.m文件 编辑className(此处修改的类名,即为之后在java程序中调用函数的函数名) 打包并保存在mjtest文件夹中 最后会在mjtest中生成一个文件夹和.
4000
prj文件(此处可命名为drawplot.prj,则文件夹名默认为drawplot)
2.在Java中:
1)新建工程
2)工程 > lib(新建此文件夹存放jar包) > 导入两个jar包(一个是在matlab安装目录下的
另一个是在mjtest文件夹中
3)配置两个Jar包 BuildPath > ConfigureBuildPath > AddJARs > 把刚刚放在lib下的两个jar包添加,完成效果
3.在Java中:
1)新建Test类
2)编辑代码并运行
(注:import com.mathworks.toolbox.javabuilder.*,
import drawplot.plotter ; //此处drawplot是jar包名,plotter是类名)
import com.mathworks.toolbox.javabuilder.*;
import drawplot.plotter;
public class Test {
}
一.准备工作:配置Java环境,jre版本为1.7;安装MATLAB(2016a版),MATLAB自带jre版本也是1.7(两者一致)
*查看MATLAB中jre版本语句:》version –java
二.具体操作步骤
1.MATLAB中:
1)新建脚本,在脚本中使用function命令定义.m文件
保存脚本:将.m文件保存到某新建文件夹下(eg./桌面/ mjtest)
2)在命令行窗口输入deploytool命令 选择LibraryComplier TYPE:JavaPackage
AddExported function:添加之前写好的.m文件 编辑className(此处修改的类名,即为之后在java程序中调用函数的函数名) 打包并保存在mjtest文件夹中 最后会在mjtest中生成一个文件夹和.
4000
prj文件(此处可命名为drawplot.prj,则文件夹名默认为drawplot)
2.在Java中:
1)新建工程
2)工程 > lib(新建此文件夹存放jar包) > 导入两个jar包(一个是在matlab安装目录下的
另一个是在mjtest文件夹中
3)配置两个Jar包 BuildPath > ConfigureBuildPath > AddJARs > 把刚刚放在lib下的两个jar包添加,完成效果
3.在Java中:
1)新建Test类
2)编辑代码并运行
(注:import com.mathworks.toolbox.javabuilder.*,
import drawplot.plotter ; //此处drawplot是jar包名,plotter是类名)
import com.mathworks.toolbox.javabuilder.*;
import drawplot.plotter;
public class Test {
public static void main(String[] args) { // TODO Auto-generated method stub MWNumericArray x = null; // 存放x值的数组 MWNumericArray y = null; // 存放y值的数组 plotter thePlot = null; // plotter类的实例(在MatLab编译时,新建的类) int n = 20; // 作图点数 try { // 分配x、y的值 int[] dims = { 1, n }; x = MWNumericArray.newInstance(dims, MWClassID.DOUBLE, MWComplexity.REAL); y = MWNumericArray.newInstance(dims, MWClassID.DOUBLE, MWComplexity.REAL); // 定义 y = x^2 for (int i = 1; i <= n; i++) { x.set(i, i); y.set(i, i * i); } // 初始化plotter的对象 thePlot = new plotter(); // 作图 thePlot.drawplot(x, y); thePlot.waitForFigures(); } catch (Exception e) { System.out.println("Exception: " + e.toString()); } finally { // 释放本地资源 MWArray.disposeArray(x); MWArray.disposeArray(y); if (thePlot != null) thePlot.dispose(); } }
}
相关文章推荐
- Java端无需修改正确调用Matlab函数方法
- java 中调用 Matlab 的函数
- eclipse中java调用matlab函数中的一点点经验
- Java调用Matlab生成的函数,参数为矩阵怎么传递
- 在Java程序中调用Matlab函数
- java中调用Matlab的函数+注意事项
- 在Java程序中调用Matlab函数
- java 中调用 Matlab 的函数
- 在Java程序中调用Matlab函数
- java中调用matlab的BP神经网络工具箱函数
- java/eclipse调用matlab功能函数
- Java调用Matlab函数以及同时配置多版本JDK的方法
- java中调用matlab的函数
- java调用matlab函数接口的两种方案
- Java调用MATLAB函数
- java中调用Matlab的函数+注意事项
- java 中调用 Matlab 的函数
- Java调用Matlab函数笔记
- JAVA调用ORACLE的存储过程、函数的返回结果集例子
- java类继承中父类调用子类函数的问题