Я пытаюсь вызвать функцию java из сценария Matlab
, я пробовал все решения, размещенные на веб-сайте, но у меня не было проблемы. Мой класс прост:Вызвать java-функцию из скрипта matlab
package testMatlabInterface;
public class TestFunction
{
private double value;
public TestFunction()
{
value=0;
}
public double Add(double v)
{
value += v;
return value;
}
public static void main(String args[])
{
}
}
Так что я положил .java
файл (также .class
) в моем workingspace C:\scriptsMatlab
и я добавил этот путь к javaclasspath
в Matlab, но когда я пытаюсь вызвать функцию, он говорит мне, что есть нет класса с этим именем в javaclasspath
от Matlab
.
EDIT: Вот версия Java, которая использует Matlab:
Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode
И это версия на JDK, который я использовал для компиляции моего класса:
Но когда я пытаюсь для выполнения этой команды от matlab
>> javaaddpath 'C:\scriptsMatlab'
>> obj = TestFunction
it говорит мне:
Undefined function or variable 'TestFunction'.
Возможно, нужны одинарные кавычки для аргумента. Что произойдет, если вы попытаетесь импортировать MyFunction. * '? – mhopeng
она импортирует его, но он не может распознать класс –
я пытался следовать ответ Macduff здесь http://stackoverflow.com/questions/9520503/calling-java-from-matlab но я застрять в 'methodview testMatlabInterface.TestFunction' говорит, что «Нет класса testMatlabInterface.TestFunction может быть найден или нет методов для класса ' –