2010-01-25 7 views

ответ

0

Есть 2 способа сделать это:

  1. Используйте Matlab Engine, который имеет интерфейс C (см ссылку первого ответа для этого). Обязательно, чтобы Matlab был установлен на всех машинах, на которых вы хотите их запустить (см. Лицензию Matlab для получения дополнительной информации).
  2. Используйте Matlab Builder для Java, который компилирует код Matlab и напрямую создает интерфейс Java ваших функций. С помощью этого решения вам понадобится компилятор Matlab и Matlab Builder для Java, но затем вы сможете развернуть свое решение, не заплатив ничего больше. Обратите внимание, что для каждой машины необходимо установить исполняемый файл Matlab Compiler Runtime (MCR), но это бесплатно.
5

Если вы не хотите покупать MATWAB MATLAB Builder для Java Toolbox, вы можете использовать недокументированный JMI MATLAB (интерфейс Java-MATLAB). Найдите в новостной группе CSSM (или Google) для JMI или JMatLink, которая основана на JMI. Сам код MATLAB полон примеров использования JMI - поиск «jmi» с помощью инструмента поиска редактора MATLAB по всей установке MATLAB.

Обратите внимание, что JMI ​​не документируется и официально не поддерживается MathWorks. Более того, если он неправильно используется, он может повесить или свернуть ваше приложение. Но это бесплатно, в отличие от инструментария.

1

Вместо использования недокументированного JMI ​​(интерфейса Java MATLAB), упомянутого Yair, вы можете использовать matlabcontrol, который является Java API, который обтекает JMI, что делает его намного проще в использовании. Он хорошо документирован и имеет вступительный walkthrough. В отличие от прямого использования JMI, его также можно использовать при запуске Java-программы вне MATLAB.

1

Я использовал Java Builder для запуска скриптов/функций matlab в приложении Java, и это кажется очень простым и полезным.

Для этой цели вам необходимо использовать Java Builder JA toolbox для развертывания скрипта/функции matlab в качестве класса java.

Затем вам нужно добавить (преобразованный) класс java в вашу библиотеку проектов java и, кроме того, файл javabuilder jar.

После выполнения вышеуказанных шагов вы можете легко запустить скрипт matlab (который теперь является классом java в библиотеке проектов), просто вызвав имя класса в коде. Если класс является функцией matlab, вы можете передать паразиты и легко получить возвращаемые значения.

Но, тем не менее, это не единственный способ сделать это. Но это кажется мне легко сравнимым.

Надеюсь, что это ответит на ваш вопрос.

Смежные вопросы