Я хочу, чтобы программа Matlab вызывала java-файл, предпочтительно с примером.Вызов Java из MATLAB?
ответ
Хорошо, я попытаюсь привести здесь мини-пример. Либо используйте java-функции прямо из окна Matlab, как предлагает zellus, либо, если это необходимо, создайте свой собственный класс java. Вот пример:
package testMatlabInterface;
public class TestFunction
{
private double value;
public TestFunction()
{
value = 0;
}
public double Add(double v)
{
value += v;
return value;
}
}
Затем превратите его в файл jar. Предполагая, что вы поместите файл в папку с именем testMatlabInterface
, запустите эту команду в командной строке:
jar cvf testMatlab.jar testMatlabInterface
Затем в Matlab, перейдите в каталог, где находится файл testMatlab.jar
и выполнить команду, import testMatlabInterface.*
импортировать все классы в пакете testMatlabInterface
. Затем вы можете использовать класс следующим образом:
>> methodsview testMatlabInterface.TestFunction
>> me = testMatlabInterface.TestFunction()
me =
[email protected]
>> me.Add(10)
ans =
10
>> me.Add(10)
ans =
20
>> me.Add(10)
ans =
30
Сообщите мне, если я смогу оказать дополнительную помощь.
Большое спасибо! Ваш пост был очень полезен. –
Существует три случая рассмотрения.
Java встроенные библиотеки.
То есть, все описано here. Эти элементы можно просто вызвать напрямую. Например:
map = java.util.HashMap; map.put(1,10); map.put(2,30); map.get(1) %returns 10
Единственное осложнение - это отображение Matlab выполняется между типами данных Matlab и типами данных Java. Эти сопоставления описаны here (Matlab to Java) и here (Java to Matlab). (Tl; др: обычно отображения являются как и следовало ожидать)
Предкомпилированных * .jar файлов
Сначала нужно добавить их в классе Java пути от Matlab. Вы можете сделать это динамически (то есть, за Matlab сессии, с не требуется Matlab состояние), следующим образом:
javaaddpath('c:\full\path\to\compiledjarfile.jar')
Вы также можете добавить их статически путем редактирования файла classpath.txt. Для получения дополнительной информации используйте
docsearch java class path
.Прекомпилированные файлы * .class.
Они похожи на файл * .jar, за исключением того, что вам нужно добавить каталог, содержащий файл класса, а не сами файлы классов. Например:
javaaddpath('c:\full\path\to\directory\containing\class\files\') %NOT THIS: javaaddpath('c:\full\path\to\directory\containing\class\files\classname.class')
Большое спасибо. Ваше руководство действительно помогло! –
класс не найден исключение, хотя я добавил путь – zinking
@zinking убедитесь, что при компиляции ваших классов Java вы ориентируетесь на версию JRE, по крайней мере такую же старую, как и та, которая поставляется с выпуском MATLAB, который вы используете. Если ваши файлы классов имеют более новый номер версии, чем тот, который поддерживается JRE MATLAB, они не будут загружены, и вы получите исключение ClassNotFoundException при попытке использовать их. Например, R2006b поставляется с JRE5, поэтому вам нужно использовать 'javac -source 1.5 --target 1.5 <другие аргументы> ', если вы компилируете JDK6 или новее. – rob
- 1. MATLAB openfig вызов из Java
- 2. Вызов класса java из matlab
- 3. Вызов обработчика callback/функции matlab из Java
- 4. Вызов кода Java из MATLAB, synchonizing
- 5. Обратный вызов Matlab/Java API
- 6. Вызов питон из MATLAB
- 7. Вызов Matlab из Fortran
- 8. Вызов ADO.NET из MATLAB
- 9. Вызов MATLAB из DLL
- 10. Вызов Matlab из VB
- 11. Вызов R из Matlab
- 12. Вызов java из Octave
- 13. Вызов проекта Cpp из Matlab
- 14. Вызов файла Python из MATLAB
- 15. вызов функции c из MATLAB?
- 16. Вызов функции dll из matlab
- 17. Вызов функции Python из Matlab
- 18. Вызов функции Matlab из C++
- 19. Вызов кода C++ из MATLAB?
- 20. Вызов функции Matlab из Python
- 21. Вызов скрипта Matlab с Java без лицензии
- 22. Вызов MATLAB от C
- 23. Вызов «основного» Java-метода из Matlab и ожидающего окончания
- 24. Вызов Java из Clojure
- 25. Вызов PHP из Java
- 26. Вызов ржавчины из Java
- 27. Вызов perl из java
- 28. Вызов Python из Java
- 29. Вызов Java из Python
- 30. Вызов Java из JSNI
пожалуйста, прочитайте документацию. [Использование библиотек Java из MATLAB] (http://www.mathworks.ch/help/techdoc/matlab_external/f44062.html) – zellus