Как получить доступ к функции Matlab из кода Java? - PullRequest
5 голосов
/ 20 марта 2011

Моя Java-программа использует код Matlab, упакованный в виде JAR-файлов для обработки изображений. Проблема в том, что когда я вызываю функцию (написанную мной) с вызовом mmreader в первый раз, она работает нормально. Однако любой последующий вызов функции (такой же или другой), вызывающей mmreader, не работает, и я получаю сообщение о том, что функция mmreader не найдена.

Я также сталкиваюсь с подобной проблемой в другой части моего приложения, где вызов функции matlab просто вызывает исключение, такой же фрагмент кода отлично работает в других файлах.

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

Ответы [ 2 ]

1 голос
/ 09 апреля 2011

Я бы быстро взглянул на эту ссылку Доступ к Matlab из 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, просто убедитесь, что вы присваиваете выход для правильного типа данных.

Самая важная часть этой ссылки:

Мы предполагаем, что вы загрузилии расширил комплект J-Integra® с http://j -integra.intrinsyc.com / и правильно его установил.

Без этого вы не сможете выполнить вышеуказанное утверждение.

0 голосов
/ 13 апреля 2011

Кроме того, в MATLAB вы можете создать JAR со своими функциями и подписать этот JAR для работы только с вашими приложениями.Возможно, вам понадобится среда исполнения MATLAB, чтобы приложение работало, я в этом не уверен.

...