java调用matlab程序
2017-02-17 10:24
393 查看
系统环境
matlab
java
在项目中,经常使用matlab进行算法开发验证,然后java程序调用算法。因此,快速实现对算法的调用是缩短项目周期的重要一点。在matlab中通过编译生成供java使用的jar包,再通过调用jar包可实现快速调用matlab算法。
java:jre1.7
eclipse:Mars.1 Release (4.5.1)
add.m
ims.m
采用matlab的Library Compiler工具包打包m文件,选择java package类型,class名字命名为matlab,添加2个方法的m文件,打包生成matlab.jar文件。
找到\toolbox\javabuilder\jar文件夹下的javabuilder.jar文件。
输出结果为:
matlab
java
在项目中,经常使用matlab进行算法开发验证,然后java程序调用算法。因此,快速实现对算法的调用是缩短项目周期的重要一点。在matlab中通过编译生成供java使用的jar包,再通过调用jar包可实现快速调用matlab算法。
系统环境
matlab:2016ajava:jre1.7
eclipse:Mars.1 Release (4.5.1)
matlab
测试函数:add.m
function [sum,m] = add(a,b) sum=a.*b; m=ims(a,b); end
ims.m
function [ m ] = ims( a,b ) m=a+b; end
采用matlab的Library Compiler工具包打包m文件,选择java package类型,class名字命名为matlab,添加2个方法的m文件,打包生成matlab.jar文件。
找到\toolbox\javabuilder\jar文件夹下的javabuilder.jar文件。
java
在java项目中引用生成的matlab.jar和javabuilder.jar。测试代码如下://java调用matlab方法 //matlab方法为[sum,m] = add(a,b) //java中方法为matlab实例的方法matlab.add(int,object...),返回值为object[] //其中输入的int为输出的个数,object...为输入参数,返回值object[]为输出的集合 matlab matlab;//定义matlab类型 try { matlab = new matlab();//实例化方法集合 int[][] a = new int[][]{{1, 0},{0,1}};//定义输入参数 int[][] b = new int[][]{{3, 2},{1,4}};//定义输入参数 Object[] rs = matlab.add(2,a,b);//调用方法1,方法1中调用方法2 System.out.println("输出结果1:"); System.out.println(rs[0]); MWNumericArray is = (MWNumericArray) rs[0];//转为matlab格式矩阵 System.out.println("输出第2行第2列数值:"); System.out.println(is.getInt(new int[]{2,2})); System.out.println("输出结果2:"); System.out.println(rs[1]); System.out.println("输出调用方法2的结果:"); System.out.println(matlab.ims(1, 12,3)[0]);//调用方法2 } catch (MWException e) { e.printStackTrace(); }
输出结果为:
输出结果1: 3 0 0 4 输出第2行第2列数值: 4 输出结果2: 4 2 1 5 输出调用方法2的结果: 15
相关文章推荐
- Java调用Matlab程序
- Java调用MATLAB程序--输入输出
- 使用Java程序调用Matlab
- 在Java程序中调用Matlab函数
- 使用Java程序调用MatLab
- Java 调用 matlab 程序
- 使用Java程序调用MatLab
- java中调用matlab程序及相关问题
- java调用matlab程序
- 关于Java调用Matlab程序
- java调用matlab程序
- 在java程序中调用matlab程序
- Java调用MATLAB程序
- java调用matlab程序
- 使用GCJ编译Java程序供Matlab调用Java对象方法实践
- 在Java程序中调用Matlab函数
- 在Java程序中调用Matlab函数
- Java调用MATLAB程序打包的jar包时出现错误MWEException
- eclipse调试java调用matlab程序的7.17dll找不到的问题
- matlab调用Java程序时出现 Java.lang.OutOfMemoryErrot: GC overhead limit exceeded