如何从java代码访问matlab函数?

时间:2011-03-20 14:45:57

标签: java matlab java-native-interface matlab-deployment javabuilders

我的java程序使用打包为jar文件的matlab代码进行图像处理。问题是当我第一次调用函数(由我编写)调用'mmreader'时,它工作正常。但是,对函数(相同或不同)调用'mmreader'的任何后续调用都不起作用,并且我收到错误,指出函数mmreader未找到。

我也在我的应用程序的另一部分遇到类似的问题,其中对matlab函数的调用只会引发异常,同一段代码在其他文件中工作正常。

try{
      vplayer.playmov(player_params);
   }
catch(Exception e){
            System.out.println("error playing cluster");
  }

2 个答案:

答案 0 :(得分:1)

我会快速浏览一下这个链接Accessing Matlab from Java 以下是一些可能有用的摘录。

 mlapp.MLApp mlApp = new mlapp.MLApp(); 

 String result = mlApp.execute("a = [1 2 3 4; 5 6 7 8;]"); 
 System.out.println("Execute result is " + result); 

在这些引号中,您甚至可以调用MATLAB函数,只需确保将输出分配给正确的数据类型。

该链接最重要的部分是;

  

我们假设您已从http://j-integra.intrinsyc.com/下载并扩展了J-Integra®套件并正确安装。

如果没有安装,则无法执行上述声明。

答案 1 :(得分:0)

除此之外,在MATLAB中,您可以使用您的函数创建JAR,并将JAR标记为仅适用于您的应用程序。也许您需要MATLAB运行时才能使该应用程序正常工作我不确定。