exponenta event banner

Анализ операторов 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.

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();
        }
}

Связанные темы