Оценка выражений MATLAB из Java

Оценка выражений MATLAB

Можно оценить MATLAB® операторы из Java® использование MatlabEngine eval и evalAsync методы. Эти методы аналогичны MATLAB eval функция. Однако eval и evalAsync методы не возвращают результаты оценки выражения MATLAB.

Можно также использовать MatlabEngine feval и fevalAsync методы для вызова функций MATLAB. Эти методы позволяют вам передать переменные в рабочее пространство MATLAB и вернуть значения в Java.

Входные параметры, названные в строке, должны существовать в рабочем пространстве MATLAB. Результаты анализа можно присвоить переменным в строке оператора. Имена переменных, присвоенные в операторе, создаются в базовом рабочем пространстве MATLAB. MATLAB не требует инициализации переменных, созданных в выражении.

Чтобы вернуть переменные, созданные в рабочем пространстве MATLAB, используйте MatlabEngine getVariable или getVariableAsync методы.

Оцените математическую функцию в MATLAB

Этот пример кода оценивает математическую функцию в заданной области с помощью двух выражений MATLAB. meshgrid функция создает переменный MATLAB X, Y, и Z в рабочем пространстве MATLAB. Эти переменные используются математическим выражением в следующем вызове evalAsync.

The MatlabEngine getVariable метод возвращает результат оценки на Java.

import com.mathworks.engine.*;

public class javaEvalFunc {
    public static void main(String[] args) throws Exception {
        MatlabEngine eng = MatlabEngine.startMatlab();
        eng.evalAsync("[X, Y] = meshgrid(-2:0.2:2);");
        eng.evalAsync("Z = X .* exp(-X.^2 - Y.^2);");
        Object[] Z = eng.getVariable("Z");
        eng.close();
        }
}

Похожие темы